.Net Core应用RabbitMQ,及简单封装

首先,还是万分感谢大家能够抽空来阅读我的文章,万分感谢。

今天我带来的是.Net Core中应用RabbitMQ,和简单封装。因为昨天的文章里说了今天要写,所以今天一定要写出来。

小编翻阅了很多资料,想要设计些一个能满足自己需求,也方便扩展,同时保证安全的简单封装。之中翻到一篇很经典的文章,如果你使用RabbitMQ只是为了处理高并发,让消息可以异步处理的话,可以使用下面这个链接。因小编现在做的都是为了自己的分布式架构服务,中间需要实现实时通讯,这个并不是很适合小编。所以小编自己封装了一个,但是大家也可以参考。

https://mp.weixin.qq.com/s/Hj5R09StmMgRiCDnf-zLVw

小编下面会直接贴图,代码会附在源码上,如不了解RabbitMQ的基本使用方式可以另行查找。

首先编写一个RabbitMQHelper,我们在构造函数里创建连接工厂,连接,通道,交换机。建议写进配置文件里,便于后期维护。


然后我们用泛型的方式来编写SendMsg方法,泛型的好处这里不多说了


接着是Receive方法,这里我没有使用泛型,是返回出去的直接是字符串,为了适应不同的业务场景,可以自定义序列化。

这里使用了委托的方式,是为了将业务和Helper类分开,便于支持其他业务。

细心的同志们会发现,构造函数里设置了交换机名,函数里设置了队列名,这样的设计是为了编写下面的MQHelperFactory。在这里我们可以自定义各个交换机,也方便调用,而且可以掩饰我们用的是RabbitMQ,降低后期更换其他MQ中间件对开发的影响。


然后,我们就编写完了,实际调用只有一行代码,接受消息也是使用了委托的方式,分离的很好。如果担心每次创建会影响效率,那么可以使用单例模式,或者IOC使配合单例模式使用。这里就不一一介绍,请大家根据自己的业务场景设计。


欢迎大家提出宝贵的建议。谢谢大家。

源码地址:

https://github.com/SkylerSkr/RabbitMQHelper


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,467评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,104评论 25 709
  • 伍尔福克教育心理学第四章关于学习障碍的理论让我有很深感触,其中多动症这块我想提出一些我的看法。多动症并不单...
    棋子嘎阅读 2,707评论 0 2
  • 今天不知道该写些什么就记一个今天的流水吧!早上听了生命的重建的最后一部分内容。对于身体与疾病和心理的关系感受很深。...
    绽蕊向阳阅读 1,547评论 1 3
  • 欢迎关注【M实事摘要】,这是一则立足中国放眼全球的AI和无人驾驶汽车(SDC)的实事简报(Newsletter)。...
    MurphyWan阅读 1,228评论 0 2