D_02 abp vnext 集成CAP作为分布式事件总线
为什么要在abp vnext中使用cap
由于abp vnext的原生结合消息队列的分布式事件发布到队列和消费队列中有可能存在消息丢失的情况,无法保证消息强一致性。所有引入cap框架。
什么是CAP
CAP 是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案,详见https://github.com/dotnetcore/CAP;
CAP的执行过程:
1、引入cap包,并启用cap服务
2、可以ICapPublisher发布服务,特性CapSubscribe标志订阅的事件处理方法;
3、通过选择器DotNetCore.CAP.Internal.ConsumerServiceSelector完成CapSubscribe特性与消息队列的订阅方法动态挂接。