网站代理备案,系统开发报价,惠阳做网站,led行业网站建设方案一、前言感谢杨晓东大佬为社区贡献的CAP开源项目#xff0c;传送门在此#xff1a;.NET Core 事件总线,分布式事务解决方案#xff1a;CAP 以及 如何在你的项目中集成 CAP【手把手视频教程】#xff0c;之前也在工作中遇到分布式数据一致性的问题#xff0c;也一直都是基于… 一、前言感谢杨晓东大佬为社区贡献的CAP开源项目传送门在此.NET Core 事件总线,分布式事务解决方案CAP 以及 如何在你的项目中集成 CAP【手把手视频教程】之前也在工作中遇到分布式数据一致性的问题也一直都是基于CAP理论和Base。之前一直有关注杨老板的博客直到今天才尝试一下CAP发现好用非常的棒特此把CAP以组件化的方式引入到我的框架中。二、CAP介绍针对CAP介绍可以参考上面给出的两个链接。在此我只简单的说明一下CAP 是一个在分布式系统中SOAMicroService实现事件总线及最终一致性分布式事务的一个开源的 C# 库她具有轻量级高性能易使用等特点。你可以轻松的在基于 .NET Core 技术的分布式系统中引入CAP包括但限于 ASP.NET Core 和 ASP.NET Core on .NET Framework。CAP 以 NuGet 包的形式提供对项目无任何入侵你仍然可以以你喜爱的方式来构建分布式系统。CAP 具有 Event Bus 的所有功能并且CAP提供了更加简化的方式来处理EventBus中的发布/订阅。CAP 具有消息持久化的功能也就是当你的服务进行重启或者宕机时她可以保证消息的可靠性。CAP 实现了分布式事务中的最终一致性你不用再去处理这些琐碎的细节。CAP 提供了基于 Microsoft DI 的 API 服务她可以和你的 ASP.NET Core 系统进行无缝结合并且能够和你的业务代码集成支持强一致性的事务处理。 三、asp.net core集成CAP 由于我的框架是DDD六边形架构为了解耦方便我针对外部的工具都是以组件化的方式引入到项目中即新建了一个CAP类库。 第一步扩展了Startup类中的IServiceCollection在CAP中我加入了Consul的注册如下图我用的是mysql数据库以及使用kafka消息队列这边要注意kafka最好部署在linux系统上在windows系统会存在很多的坑如果你觉得你的天坑能力强可以尝试一下。我这边也集成了 Consul服务注册如果大家对cosnul感谢的兴趣的可以看我的另外一篇文章实战中的asp.net core结合Consul集群Docker实现服务治理 里面有讲解了consul集群部署。 好了然后我在我的主项目中配置一下就开始用吧#region 配置CAPservices.AddCAPConfigure(Configuration);#endregion 第二步在asp.net core webapi项目中新建一个控制器配置如下此处的mysql配置大家可自行补充或者按照 Savorboard 给出的demo操作即可。 第三步部署一下kafka。我在centos服务器上采用docker部署命令如下//下载zookeeperdocker pull wurstmeister/zookeeper//下载kafkadocker pull wurstmeister/kafka:2.11-0.11.0.3 //启动zookeeperdocker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper//启动kafkadocker run -d --name kafka --publish 9092:9092 \--link zookeeper \--env KAFKA_ZOOKEEPER_CONNECT192.168.161.163:2181 \--env KAFKA_ADVERTISED_HOST_NAME192.168.161.163 \--env KAFKA_ADVERTISED_PORT9092 \--volume /etc/localtime:/etc/localtime \wurstmeister/kafka:2.11-0.11.0.3 部署完毕后就进入下一步运行啦。第四步运行项目运行成功后我嗯可以在数据库中发现cap会自动在数据库中创建两张表一张是 发布信息表、一张是接收信息表。 表 发现 表中有数据存在数据体现法发送接收成功。 我们再来看看cap有提供的UI界面发现里面有一个我们用consul注册的服务器。完美实现。我们看一下consul集群 四、总结 欢迎大家积极尝试CAP我也会在后续的项目中采用CAP希望我们的社区越来越强大。相关文章如何在你的项目中集成 CAP【手把手视频教程】CAP 2.3版本发布,支持 MongoDBCAP带你轻松玩转ASP.NETCore消息队列.NetCore Cap 结合 RabbitMQ 实现消息订阅.NET Core微服务之开源项目CAP的初步使用.NET Core Community 首个千星项目诞生CAP原文地址: https://www.cnblogs.com/guolianyu/p/9756941.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com