asp.net core集成CAP(分布式事务总线)

 

一、前言


感谢杨晓东大佬为社区贡献的CAP开源项目,传送门在此:

 

第一步:扩展了Startup类中的IServiceCollection,在CAP中我加入了Consul的注册,如下图:

复制代码
public static void AddCAPConfigure(this IServiceCollection services, IConfiguration configuration)         {             services.AddCap(x =>             {                 //使用Dapper ORM                x.UseMySql(configuration.GetConnectionString("DBConnection"));                  //使用kafka 进行日志、case的消息推送                 //需要配置一下MQ地址,kafka放在linux系统上,不建议放在window上                x.UseKafka(configuration["KafkaConfig"]);                 x.UseDashboard();//得到UI界面                 //注册服务发现                x.UseDiscovery(d =>                 {                     d.DiscoveryServerHostName = "192.168.161.163";                     d.DiscoveryServerPort = 8500;                     d.CurrentNodeHostName = "localhost";                     d.CurrentNodePort = 64616;                     d.NodeName = "CAP No.1 Node";                 });             });         }
复制代码

 

我用的是mysql数据库,以及使用kafka消息队列,这边要注意,kafka最好部署在linux系统上,在windows系统会存在很多的坑,如果你觉得你的天坑能力强,可以尝试一下。

我这边也集成了 Consul服务注册,如果大家对cosnul感谢的兴趣的可以看我的另外一篇文章:实战中的asp.net core结合Consul集群&Docker实现服务治理 里面有讲解了consul集群部署。

 

好了然后我在我的主项目中配置一下,就开始用吧:

复制代码
#region 配置CAP             services.AddCAPConfigure(Configuration); #endregion
复制代码

 

 

第二步:在asp.net core webapi项目中新建一个控制器

配置如下:

复制代码
[Route("api/[controller]/[action]"
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信