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

百川网站维护为学校做网站策划怎么写

百川网站维护,为学校做网站策划怎么写,wordpress theme 开发,wordpress 微信分享插件一、预备知识#xff1a;数据一致性关于数据一致性的文章#xff0c;园子里已经有很多了#xff0c;如果你还不了解#xff0c;那么可以通过以下的几篇文章去快速地了解了解#xff0c;有个感性认识即可。#xff08;1#xff09;左正#xff0c;《保证分布式系统数据一… 一、预备知识数据一致性  关于数据一致性的文章园子里已经有很多了如果你还不了解那么可以通过以下的几篇文章去快速地了解了解有个感性认识即可。  1左正《保证分布式系统数据一致性的6种方案》  2成金之路《分布式系统的数据一致性解决方案》  3E_Star《分布式环境下数据一致性的设计总结》  必须要了解的点ACID、CAP、BASE、强一致性、弱一致性、最终一致性。    CAP理论由加州大学伯克利分校的计算机教授Eric Brewer在2000年提出其核心思想是任何基于网络的数据共享系统最多只能满足数据一致性(Consistency)、可用性(Availability)和网络分区容忍(Partition Tolerance)三个特性中的两个由此我们知道在分布式系统中同时满足CAP三个特性是不可能的三个特性的定义如下C数据一致性Consistency如果系统对一个写操作返回成功那么之后的读请求都必须读到这个新数据如果返回失败那么所有读操作都不能读到这个数据对调用者而言数据具有强一致性Strong Consistency又叫原子性Atomic或线性一致性Linerizable ConsistencyA服务可用性Availability所有读写请求在一定时间内得到响应可终止、不会一直等待P分区容错性Partition-Tolerance在网络分区的情况下被分隔的节点仍能正常对外服务  强一致性当更新操作完成之后任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的就是用户上一次写什么下一次就保证能读到什么。根据 CAP 理论这种实现需要牺牲可用性。 在传统单体式应用中大部分都是强一致性的应用想想我们写过多少工作单元模式的Code弱一致性系统并不保证续进程或者线程的访问都会返回最新的更新过的值。系统在数据写入成功之后不承诺立即可以读到最新写入的值也不会具体的承诺多久之后可以读到。最终一致性弱一致性的特定形式。系统保证在没有后续更新的前提下系统最终返回上一次更新操作的值。在没有故障发生的前提下不一致窗口的时间主要受通信延迟系统负载和复制副本的个数影响。  为保证可用性互联网分布式架构中经常将强一致性需求转换成最终一致性的需求并通过系统执行幂等性的保证保证数据的最终一致性。  在微服务架构中各个微服务之间通常会使用事件驱动通信和发布订阅系统实现最终一致性。    更多背景知识还是得看上面列出的参考文章这里不再赘述。二、MassTransit极简介绍  MassTransit 是一个自由、开源、轻量级的消息总线, 用于使用. NET 框架创建分布式应用程序。MassTransit 在现有消息传输上提供了一组广泛的功能, 从而使开发人员能够友好地使用基于消息的会话模式异步连接服务。基于消息的通信是实现面向服务的体系结构的可靠和可扩展的方式。  官网地址http://masstransit-project.com/GitHub地址https://github.com/MassTransit/MassTransit 目前1590Star719Fork  类似的国外开源组件还有NServiceBus没有用过据说MassTransit比NServiceBus更加轻量级并且在开发之初就选用了RabbitMQ作为消息传输组件当然MassTransit还支持Azure Service Bus。类似的国内开源组件则有园友savorboard杨晓东的CAP这个我会在MassTransit学习结束后去使用使用CAP在GitHub上已经有了超过1000个Star是NCC的几个千星项目之一。另外张善友大队长在他的NanoFabric项目中推荐我们使用Rebus和Ray如下图所示      由于时间和精力以及文档资料的可见性我在我的POC和这个系列博文的准备中只会使用到MassTransit和CAP这两个开源项目。三、MassTransit Quick Start  这里以MassTransit RabbitMQ为例子首先请确保安装了RabbitMQ如果没有安装可以阅读我的《基于EasyNetQ使用RabbitMQ消息队列》去把RabbitMQ先安装到你的电脑上。另外RabbitMQ的背景知识也有一堆有机会也还是要了解下ExchangeChannel、Queue等内容。3.1 最简单的发送/接收实例  1准备两个控制台程序一个为Sender发送者一个为Receiver接收者并分别通过NuGet安装MassTransit以及MassTransit.RabbitMQNuGetInstall-Package MassTransitNuGetInstall-Package MassTransit.RabbitMQ    2编写Sender 这里首先连接到我的RabbitMQ服务然后向指定的Queue发送消息这里是一个Client类型的实例对象。  3编写Receiver 对于Receiver要做的事就只有两件一是连接到RabbitMQ二是告诉RabbitMQ我要接收哪个消息队列的什么类型的消息。下面是TestConsumerClient和TestConsumerAgent的定义4测试一下  3.2 最简单的发布/订阅实例  除了简单的发送/接收模式外我们用的更多的是发布/订阅这种模式。  1准备下图所示的类库和控制台项目并对除Messages类库之外的其他项目安装MassTransit以及MassTransit.RabbitMQ。    2Messages类库准备需要传输的Message3Publisher接收我的消息吧骚年们 这里向RabbitMQ发布了两个不同类型的消息TestBaseMessage和TestCustomMessage  4SubscriberA我只接收TestBaseMessage类型的消息其他的我不要 这里ConsumerA的定义如下可以看出它实现了一个泛型接口IConsumer然后指定了TestBaseMessage为消费的消息类型。 5SubscriberA我只接收TestCustomMessage类型的消息其他的我不要这里的ConsumerA的定义如下它实现的接口是IConsumerTestCustomMessage6测试一下由于Publisher发送了两个不同类型的消息两个Subscriber均只接受其中的一个类型的消息。  3.3 带返回状态消息的示例  之前的例子都是发布之后不管订阅者有没有收到以及收到后有没有处理成功即有没有返回消息类似于HTTP请求和响应在MassTransit中提供了这样的一种模式并且还可以结合GreenPipes的一些扩展方法实现重试、限流以及熔断机制。这一部分详见官方文档http://masstransit-project.com/MassTransit/usage/request-response.html  1准备下图所示的三个项目通过NuGet安装MassTransit以及MassTransit.RabbitMQ    2Messages准备请求和响应的消息传输类型3Sender 请求发送端  这里不再解释请看注释。  4Receiver 接收端 其中RequestConsumer的定义如下5测试一下    可以看出请求调用方收到了来自接收方返回的状态消息我们可以借助返回值去check一些状态。这里不再演示发生异常从而启用重试、熔断等的示例有兴趣的园友可以自行测试。3.4 Observer模式的发布/订阅示例   在某些场景中我们需要针对一个消息进行类似于AoP面向切面编程或者监控的操作比如在发送消息之前和结束后记日志等操作我们可以借助MassTransit中的Observer模式来实现。在MassTransit的消息接收中可以通过两种模式来实现一种是基于实现IConsumer接口另一种就是基于实现IObserver接口关于这一部分详见官方文档http://masstransit-project.com/MassTransit/usage/observers.html  1准备以下图所示的项目    2Messages定义要使用的Consumer和Observer  ConsumerObserver3ObserverPublish可以看到这里我们使用了两个用于发送消息的ObserverSendObserver和PublishObserver  3ObserverReceive4测试一下    由此看出我们可以借助Observer这种方式来截取到消息的一个lifecycle用以进行不同阶段的业务逻辑操作。四、小结  本篇极简的介绍了一下数据一致性和MassTransit这个开源的组件通过几个例子介绍了在.NET环境下如何使用MassTransit操作RabbitMQ实现消息的接收/发送以及发布/订阅。后续我会继续使用MassTransit结合Quartz.Net和Polly在ASP.NET Core环境下实现一个简单的基于补偿机制的数据一致性的小案例希望到时也可以和各位园友分享。示例代码  Click Here  点我下载参考资料1桂素伟《基于.NET Core的微服务》2richieyangs张阳《如何优雅的使用RabbitMQ》《使用Masstransit开发基于消息传递的分布式应用》3青客宝团队《MassTransitSagas分布式服务开发ppt分享》4成天《MassTransit实现应用程序间的交互》5娃娃都会打酱油了《MassTransit学习记录》6MassTransit 官方文档http://masstransit-project.com/MassTransit/原文地址https://www.cnblogs.com/edisonchou/p/dnc_microservice_masstransit_foundation_part1.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.huolong8.cn/news/109613/

相关文章:

  • 贵阳网站建设公司排行免费的舆情网站入口有哪些
  • 网站建设企划河南建筑工程信息
  • 网站初期推广方案网站做联盟广告能赚钱吗
  • 网站建设需要注意什么问题关键词自动生成器
  • 网站添加后台搜索引擎营销方法主要有三种
  • 酷炫的网站欢迎页面网站建设作业多少钱
  • 格豪网络建站深圳网站建设深圳网
  • 泊头网站建设价格wordpress+判断手机
  • 设计师网站介绍彩票网站的统计怎么做
  • 单页式网站模板asp.net 网站开发视频教程
  • 北京欢迎你网站制作公司做dj平台网站
  • 成都大型网站建设公司排名机票售票网站开发
  • 网站推广对接建设部网站注册中心
  • 六盘水遵义网站建设怎么做石家庄建站模板厂家
  • 给别人做设计的网站seo技术代理
  • 吉林哪里做网站朗域装饰口碑怎么样
  • 青岛的网站设计wp用户前端化专业版wordpress插件[中英双语]
  • 成功的门户网站网站开发需要考什么证
  • 设计网站与建设wordpress 指定阅读
  • 网站建设存在四个问题个人网站制作 教程
  • 如何建单页网站栏目公众号文章导入wordpress
  • 从化手机网站建设网站建设如何维护
  • 一个网站是如何建设外贸网站建设模式
  • seo网络贸易网站推广网站建设需要用到哪些软件有哪些
  • 怎样做淘宝联盟网站备案服务网站
  • 加盟网站制作公司怎么免费建设个人博客网站
  • 沈阳做网站的公司推荐多用户购物商城系统
  • 做餐饮公司网站设计师找灵感的网站
  • 宜兴做网站多少钱注册公司要哪些条件费用
  • 为网站网站做代理关于申请网站建设