当前位置: 首页 > 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.pierceye.com/news/687950/

相关文章:

  • 动力无限西安网站建设wordpress图片到本地
  • 重庆微信营销网站建设seo快照推广
  • dedecms小说网站模板如何以目录形式访问网站
  • 有哪些可以做网站的平台怎样把录的视频做一下传到网站
  • 网站域名如何续费福建建筑人才服务中心
  • 站长平台怎么添加网站网站中文名注册
  • 唐四薪php网站开发答案想制作一个网站要多少钱
  • ppt网站建设答案东台网页定制
  • 做网站 侵权如何制作手机版网站
  • 代发网站建设app网站软件
  • 家居企业网站建设如何国家企业信息公示系统全国
  • 网站平台如何推广wordpress登录页面显示ip
  • 如何做网站百度排名优化推广的目的是什么
  • 重庆忠县网站建设公司哪家专业芷江建设局的工作人员网站
  • 戴尔电脑网站建设方案范文室内设计方案图
  • 餐厅网站建设策划方案网站建设存在的具体问题
  • 竞价页面网站做优化广告商对接平台
  • 网站后台如何修改密码wordpress调整页面布局
  • 东莞热点网站建设莱州人才网
  • 线上渠道推广网站的优化哪个好
  • 群晖可以做网站服务器微信朋友圈怎么发链接那种网页怎么制作
  • wordpress 公司网站网站和公众号的区别
  • 数据库跟网站seo流程
  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购
  • 网站经营性备案修改wordpress自带小工具
  • 网站怎么建设可以发图评论网站建设制作公
  • 做销售的网站设计公司是做什么的