当前位置: 首页 > news >正文

做漫画在线观看网站网线制作的心得体会

做漫画在线观看网站,网线制作的心得体会,麻涌网站建设,网站开发如何报价单背景 相信前面几篇关于微服务的文章也介绍了那么多了#xff0c;在构建微服务的过程中确实需要这么一个东西#xff0c;即便不是在构建微服务#xff0c;那么在构建分布式应用的过程中也会遇到分布式事务的问题#xff0c;那么 CAP 就是在这样的背景下诞生的。 最初打算做…背景 相信前面几篇关于微服务的文章也介绍了那么多了在构建微服务的过程中确实需要这么一个东西即便不是在构建微服务那么在构建分布式应用的过程中也会遇到分布式事务的问题那么 CAP 就是在这样的背景下诞生的。 最初打算做这个东西是在去年2016年底最初是为了解决分布式系统中的分布式事务的问题然后当时有了一个大概的概念轮廓当时我对于前面两篇文章中关于异步消息和微服务之间通讯还不是太了解只是觉得这样能够解决这一系列的问题然后就着手做了最后发现和这些概念竟然不谋而合。 经过大半年的不断重构以及修改最终 CAP 1.0 版本发布了。作为一个开源项目最初项目是在我的个人Github下然后于上个月已经贡献给了 .NET China Foundation 组织目前该项目由我和 DotNetCore 项目组共同维护。 CAP 介绍 Githubhttps://github.com/dotnetcore/CAP 开源协议MIT 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 系统进行无缝结合并且能够和你的业务代码集成支持强一致性的事务处理。 CAP 是开源免费的。CAP基于MIT协议开源你可以免费的在你的私人或者商业项目中使用不会有人向你收取任何费用。 Getting Started 目前 CAP 同时支持使用 RabbitMQ 或 Kafka 进行底层之间的消息发送你不需要具备 RabbitMQ 或者 Kafka 的使用经验仍然可以轻松的集成到项目中。 CAP 目前支持使用 MS Sql Server 数据库的项目其他数据库正在支持中... CAP 同时支持使用 EntityFrameworkCore 和 Dapper 的项目你可以根据需要选择不同的配置方式。 下面是CAP在系统中的一个不完全示意图 图中实线部分代表用户代码虚线部分代表CAP内部实现。 下面我们看一下 CAP 怎么集成到项目中 Step 1: 你可以运行下面的命令来安装CAP NuGet 包 PM Install-Package DotNetCore.CAP 根据底层消息队列你可以选择引入不同的包 // 如果你使用的是 KafkaPM Install-Package DotNetCore.CAP.Kafka// 如果你使用的是 RabbitMQPM Install-Package DotNetCore.CAP.RabbitMQ CAP 目前支持使用 SQL Server 的项目你需要引入 PM Install-Package DotNetCore.CAP.SqlServer Step 2: 在 Startup.cs 文件中添加如下配置 public void ConfigureServices(IServiceCollection services){......services.AddDbContextAppDbContext();services.AddCap(x {        // 如果你的 SqlServer 使用的 EF 进行数据操作你需要添加如下配置// 注意: 你不需要再次配置 x.UseSqlServer()x.UseEntityFrameworkAppDbContext();        // 如果你使用的Dapper你需要添加如下配置x.UseSqlServer(数据库连接字符串);    // 如果你使用的 RabbitMQ 作为MQ你需要添加如下配置x.UseRabbitMQ(localhost);    //如果你使用的 Kafka 作为MQ你需要添加如下配置x.UseKafka(localhost9092);}); }public void Configure(IApplicationBuilder app){.....    // 添加 CAPapp.UseCap(); } 发布事件/消息 在 Controller 中注入 ICapPublisher 然后使用 ICapPublisher 进行消息发布: public class PublishController : Controller{    private readonly ICapPublisher _publisher;    public PublishController(ICapPublisher publisher)    {_publisher publisher;}[Route(~/checkAccountWithTrans)]    public async TaskIActionResult PublishMessageWithTransaction([FromServices]AppDbContext dbContext)    {         using (var trans dbContext.Database.BeginTransaction()){            //指定发送的消息标题供订阅和内容await _publisher.PublishAsync(xxx.services.account.check,                new Person { Name Foo, Age 11 });            // 你的业务代码。trans.Commit();}        return Ok();} } 订阅事件/消息 在 Controller 中如果是在Controller中直接添加[CapSubscribe()] 来订阅相关消息。 public class PublishController : Controller{[NoAction][CapSubscribe(xxx.services.account.check)]    public async Task CheckReceivedMessage(Person person)    {Console.WriteLine(person.Name);Console.WriteLine(person.Age);     return Task.CompletedTask;} } 在 xxxService中如果你的方法没有位于Controller 中那么你订阅的类需要继承 ICapSubscribe然后添加[CapSubscribe()]标记 namespace xxx.Service{    public interface ISubscriberService{        public void CheckReceivedMessage(Person person);}    public class SubscriberService: ISubscriberService, ICapSubscribe{[CapSubscribe(xxx.services.account.check)]          public void CheckReceivedMessage(Person person)        {}} } 然后在 Startup.cs 中的 ConfigureServices() 中注入你的 ISubscriberService 类 public void ConfigureServices(IServiceCollection services){services.AddTransientISubscriberService,SubscriberService(); } 结束了怎么样是不是很简单 鸣谢 感谢 lan Ye 同学对本项目的英文翻译工作。 感谢 AlexLEWIS 同学对本项目的其他支持。 感谢 .NET China Foundation 团队成员对本项目的支持。 总结 如果你有任何问题都可以去 Github 给我们提交 Issue我们会在第一时间处理。 如果你觉得这个开源项目还不错给个Github Star 支持一下那就太好了。 原文地址http://www.cnblogs.com/savorboard/p/cap.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.zqtcl.cn/news/687950/

相关文章:

  • 做搜狗网站优化首页软外贸代运营
  • 巴士定制网站开发宁波快速制作网站
  • 永年区住房和城乡建设局网站网站后台文档
  • 网站备案授权书wordpress教程 页面
  • 深圳网站开发制作安徽全网优化
  • 陕西建设局网站appcms程序怎么做网站
  • 石家庄城乡建设厅网站牡丹江百度推广
  • 网站建设源代码 费用事件网站推广
  • 购物网站开发文献综述潮汕网站建设
  • 做五金生意什么网站做比较好网站建设市场规模
  • 网站跟app的区别是什么网络搭建结构图
  • 淘宝网站怎么做视频教程山西推广型网站开发
  • 杭州开发网站2018主流网站建设语言
  • 杂志社网站建设方案书响应式网站服务
  • 青岛网站开发建设农村建设有限公司网站
  • 做水晶接单在哪个网站接php做购物网站怎么样
  • 网站内部结构优化网页设计网站搭建
  • 杭州公司建设网站网络营销是一种什么营销
  • 事业单位网站建设费科目定西市小企业网站建设
  • 温州网站推广哪家好网站开发所遵循的
  • 没有网站做APP公司logo设计公司logo设计
  • 网站建设在哪个软件下做中国最大的现货交易平台
  • 西宁做网站公司电话加强局网站建设
  • 佛山做企业网站公司做贸易做个外贸网站有必要吗
  • 南昌制作网站的公司wordpress 分享到插件
  • 大型网站怎样做优化PHP站长工具怎么用
  • 响应式模板网站建设营销型网站建设怎么收费
  • 夺宝网站开发全网seo优化电话
  • 宁夏建设工程招标投标信息管理中心网站广告多的网站
  • c 网站做死循环北京响应式的网站设计