开源分布式消息框架 Cap 可以在GitHub上拉也可以通过nuget添加

上一篇博文写了 Windows RabbitMQ的安装使用 

Cap支持事务,通过捕获数据库上下文连接对象实现 消息事务,消息持久化

怎么来实现消息订阅 消费?

使用起来非常简单,主要通过这个类来实现 

发布:ICapPublisher 、

订阅:CapSubscribe

DNC的注入就不做介绍了,引用好相关的Cap类,并注入如下,如果需要事务请注入数据库访问上下文对象

 public ValuesController(AppDbContext dbContext, ICapPublisher capPublisher)
        {
            _dbContext = dbContext;
            _capBus = capPublisher;
        }

消息发布  :定义消息名称  参数

_capBus.Publish("sample.rabbitmq.mysql", parameters);

消息订阅 订阅消息名称  本生是Attributes属性,写到 Action上就ok了

 [CapSubscribe("sample.rabbitmq.mysql")]
public void ReceiveMessage(string parameters)
        {
            //处理方法
        }

配置

这里我们用Mysql来试试

.NetCore Cap 结合 RabbitMQ 实现消息订阅

在配置Configure 

 app.UseCap();

启动程序 发布一个消息 并接受订阅 访问下仪表盘

.NetCore Cap 结合 RabbitMQ 实现消息订阅

已经发布成功

下面登录下 RabbitMQ Server Management

.NetCore Cap 结合 RabbitMQ 实现消息订阅

数据库消息发布及订阅数据

.NetCore Cap 结合 RabbitMQ 实现消息订阅

 

.NetCore Cap 结合 RabbitMQ 实现消息订阅

 

参考资料

https://www.cnblogs.com/savorboard/p/cap.html

https://github.com/dotnetcore/CAP

原文地址:https://www.cnblogs.com/liyouming/p/9150961.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

.NetCore Cap 结合 RabbitMQ 实现消息订阅

相关文章: