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

用c 做网站和数据库方法融媒体网络营销是什么

用c 做网站和数据库方法,融媒体网络营销是什么,免费推广平台排行榜,服装模板网站CAP介绍#xff1a;CAP是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案。可以解决跨服务器的数据一致性问题。一个简单的列子#xff0c;如#xff1a;订单系统创建订单后需要通知邮件通知用户下单成功#xff0c;解决方案有下面几种#xff1… CAP介绍CAP是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案。可以解决跨服务器的数据一致性问题。一个简单的列子如订单系统创建订单后需要通知邮件通知用户下单成功解决方案有下面几种   1创建订单时同步调用邮件发送邮件发送失败则整个订单创建失败这样保证了一致性但性能和可用性有非常大的问题。或者不管邮件发送状态失败了就算了这样用户就可能收不到通知邮件了。   2创建订单时通过消息队列推送一个订单创建成功的事件另外创建一个服务来监听消费此事件并执行邮件发送的功能。这种方案存在往消息队列推送数据失败的可能存在和方案1一样的问题。   3创建订单时同时往一个叫“订单创建成功”的事件表中插入相关数据两者在同一事务中。另外创建一个服务定时查询此表发现有待处理的数据时执行邮件发送成功后把此数据删除或更新为已处理。此方案保证了最终一致性和可用性但得定时扫描性能和及时性有问题。   4创建订单时同时往一个叫“订单创建成功”的事件表中插入相关数据两者在同一事务中。并且通过消息队列推送此消息如果推送失败则定时扫描“订单创建成功”表将失败的数据重新推送。另外创建一个服务来监听消费此事件这种方案集成了方案1和方案2的优点即保证了最终一致性也保证了可用性。从上面来看最优的方案显示是方案4我们这次的主角CAP也正是采用了此种方案来实现的我们这里介绍的方案4还是比较简单的CAP的实现要更加的严谨、更加强大我们不需要建过程表也不需要处理消息队列的问题底层很多的细节都不需要我们考虑只管用就好了。CAP数据库存储支持Sql ServerMySqlPostgreSqlMongoDB。消息队列支持RabbitMQKafkaAzure Service Bus等。各多CAP的介绍可以参考官网详细的CAP理论可以参考其它文章。 官网 http://cap.dotnetcore.xyz/ 开源地址https://github.com/dotnetcore/CAP  ,作者blog https://www.cnblogs.com/savorboard/快速开始CAP2.6是2019-8-29发布的《CAP 2.6 版本发布通告》目前官网上的文档快速开始已经无法使用因为里面用了 Savorboard.CAP.InMemoryMessageQueue 组件该组件还是2.51,不支持最新的CAP2.6版本应该得过段时间才会修复文档或者等 Savorboard.CAP.InMemoryMessageQueue组件更新。现在我们就在这开始我们的“快速开始”吧。我们将基于rabbitmq和sqlserver数据库来实现。1创建项目打开VS创建一个名叫CapDemo的webapi项目版本选择ASP.NET Core 2.2。CAP2.6不支持2.2以下的.net core2添加CAP引用在Nuget中添加 DotNetCore.CAP   DotNetCore.CAP.RabbitMQ  DotNetCore.CAP.SqlServer 的引用。3:配置CAP在Startup.cs的ConfigureServices方法中添加以下代码 services.AddCap(c { c.UseSqlServer(Data Source.\sql2014;Initial CatalogTest;User IDsa;Passwordsa); //使用SqlServer数据库,连接地址请依实际修改 c.UseRabbitMQ( mq { mq.HostName 192.168.150.134; //RabitMq服务器地址依实际情况修改此地址 mq.Port 5672; mq.UserName admin; //RabbitMq账号 mq.Password admin; //RabbitMq密码 }); });4发布事件将 CapDemo.Controllers.ValuesController中的所有方法全部删除。添加引用 using DotNetCore.CAP; 并添加以下方法 [HttpGet]public async Taskstring Get([FromServices]ICapPublisher capPublish) {await capPublish.PublishAsyncstring(Order.Created, hello订单创建成功啦); //发布Order.Created事件return 订单创建成功啦; }5订阅事件在CapDemo.Controllers.ValuesController中添加以下方法 [NonAction] [CapSubscribe(Order.Created)] //监听Order.Created事件public async Task OrderCreatedEventHand(string msg) { Console.WriteLine(msg); }6最后一步启动测试在OrderCreatedEventHand方法内打个断点F5启动项目访问https://localhost:44304/api/values界面。因为此例中第一次访问时可能发布事件比订阅事件要快导致还没订阅就把事件发布出去了这样的事件会丢失所以我们再F5刷新一下界面可以看到程序就进入到了订阅事件里面。后记添加监控仪表盘监控CAP运行状况1只需要在Startup.cs的AddCap方法中添加配置 c.UseDashboard(); 就万事大吉了一个功能强大的事件管理界面就出来了具体如下图2重新编译并启动项目进入https://localhost:44304/cap  从打开的界面里可以看到CAP的各种事件和状态。数据库变化我们再看看数据库里面的变化吧从下图可以看出CAP自动创建了两个表并且记录了发布的消息和接收到的消息。这些数据会定时删除。这些都是不需要我们管的。本示例源码下载https://pan.baidu.com/s/1fHXSW20JHSoaYPH748VRKg原文链接https://www.cnblogs.com/sunyuliang/p/11434985.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.pierceye.com/news/173101/

相关文章:

  • 江苏景禾瑜博建设工程有限公司网站做网站注册公司
  • 如何找到做网站的客户贵州二建报名入口官网
  • 网站怎么做301定向wordpress极客式主题
  • 造价工程建设协会网站怎么把做的网站发布
  • 万网网站首页好企业网站
  • 廊坊做网站电话企业网络搭建拓扑图
  • 建设社区网站有什么借鉴之处专业网站制作哪家专业
  • 南宁网站推广流程wordpress 雅黑字体
  • 个人网站制作代码河北seo基础知识
  • 国内做视频的网站有哪些企业网站价格花
  • 泰安网站推广优化wordpress首页图片
  • 政协网站建设更改wordpress管理员用户名
  • 网站浏览器兼容性通用有那种网站么
  • 网站中全景是怎么做的云南网络营销文化优化
  • 苏州网站优化哪家好换空间对网站的影响
  • 如何做黑客攻击网站专业的网站建设运营
  • 门户网站建站流程做网站在哪里做比较好
  • 青创网站首页wordpress用户发文章
  • wordpress 仿站 主题网站建设拍金手指排名贰拾
  • 自己的网站怎么做跳转广州白云建方舱医院
  • 免费搭建购物网站网页游戏网站打不开
  • 专业的东莞网站设计wordpress extra script
  • 嘉兴网站开发公司电话从零开始创建wordpress主题.pdf
  • 备案号怎么添加到网站自己做网站原始代码
  • 可以做exe的网站邯郸做紧固件网站
  • 电子商务网站开发的说法移动端首页尺寸
  • 普通网站服务器房地产营销门户网站开发
  • 免费做公司网站wordpress文章格式
  • 制作网站教学设计金湖县城乡建设局网站
  • 微商城网站建设咨询网站做的不满意