owasp 网站开发,网站国外建设,古典家具网站模板,php图片怎么导入wordpress系列目录#xff1a;
《分布式事务#xff08;一#xff09;—— 事务的基本概念》
一、CAP理论
cap理论是分布式系统的理论基石
1、Consistency[一致性] 即操作成功并返回客户端后#xff0c;所有节点在同一时间的数据完全一致#xff0c;这就是分布式的一致性。一致…系列目录
《分布式事务一—— 事务的基本概念》
一、CAP理论
cap理论是分布式系统的理论基石
1、Consistency[一致性] 即操作成功并返回客户端后所有节点在同一时间的数据完全一致这就是分布式的一致性。一致性的问题在并发系统中不可避免对于客户端来说一致性的问题是并发访问时更新过的数据如何获取的问题。从服务端来说则是更新如何复制分布到整个系统以保持数据的一致。
2、Availability[可用性] 可用性是指读取和写入操作一致能工成功即服务一直可用而且是正常的响应时间。好的可用性指系统能够很好的为用户提供服务不出现用户操作失败或者访问超时等用户体验不好的情况。
3、Partition Tolerance[分区容错性] 即分布式系统在遇到某个节点分区故障的时候仍然能够对外提供满足一致性和可用性的服务。分区容错性要求能够使应用虽然是一个分布式系统但是看上去却是一个可以正常运转的整体。比如现在分布式系统中某一个或者几个机器宕机了其他剩下的机器还是能够正常运转并满足系统需求对于用户而言并没有什么体验上的影响。
如果你是一个分布式系统那么你就必须要满足分区送错性因为分布式系统就是为了解决高并发和提高系统的可用性要不然就不用将系统做成分布式系统了。
二、CAP的取舍策略 CAP三个特性只能满足其中两个那么取舍策略就有三种
CA如果不需要P则一致性和可用性是可以保证的。但是放弃P的同时也就意味着放弃了系统的扩展性也就是分布式节点受限没有办法部署子节点这是违背分布式系统的设计初衷的。CP保证一致性和分区容错性放弃可用性。相当于每个请求在服务器之间保持强一致而P分区容错也会导致同步时间的延长也就是需要等待数据同步完成才能正常访问系统一旦发生网络故障或者消息丢失的情况就要牺牲用户体验等到所有数据全部一致后再让用户访问系统。设计成CP的系统其实不少最典型的就是分布式数据库如Redis、HBase等。对于这些分布式数据库来说数据的一致性是基本的要求因为如果连这个都打不到那么直接采用关系型数据库就好了没必要再浪费资源部署分布式数据库。AP高可用并容许分区则要放弃一致性。一旦分区发生节点之间可能会失去联系为了高可用每个节点只能用本地数据库提供服务而这样会导致全局数据的不一致。
三、Base理论 分布式系统中的一致性是弱一致性单数据库mysql的一致性是强一致性 Base是Basically Available基本可用、Soft status软状态和Eventually consistent最终一致性三个短语的缩写。Base理论对于CAP中一致性和可用性权衡的结果。其来源对于大规模互联网系统分布式实践的总结是基于CAP定理逐步演化而来的。 Base理论的核心思想是即使没有办法做到强一致但是可以做到最终一致。
Base理论的三要素
1、基本可用 基本可用是指分布式系统在出现不可预知故障的时候允许损失部分可用性注意这里并不是说系统不可用比如
(1) 响应时间上的损失正常情况下一个在线搜索需要在0.5秒内返回给用户响应的查询结果。但由于出现故障查询结果的响应时间增加了1~2秒(2) 系统功能上的损失正常情况下在一个电商网站上进行购物的时候消费者几乎能顺利完成每一笔订单但是在一些节日大促购物高分期的时候由于消费者的购物行为激增为了保护购物系统的稳定性部分消费者可能会被引导到一些降级页面。
2、软状态 软状态指允许系统中的数据存在中间状态并认为该中间状态的存在不会影响系统的整体可用性即允许系统在不同节点数据副本之间进行数据同步的时候可以存在延时。
3、最终一致性 最终一致性强调的是所有的数据副本在经过一段时间的同步之后最终能达到一个一致的状态。因此最终一致的本质需要系统保证最终数据能够达到一致而不需要实时保持数据的强一致。 总体来说Base理论面向的是大型高可用可扩展的系统和传统的事物ACID特性是相反的它完全不同于ACID的强一致模型而是牺牲强一致来获得可用性并允许数据在一段时间内不一致但最终达到一致状态。同时在实际的分布式场景中不同业务单元和组建对数据一致性的要求不同因此在具体的分布式系统架构设计的过程中ACID特性和Base理论往往又会结合在一起。
一句话CAP就是要告诉你要想同时满足C、A、P就是做梦Base才是你最终的归宿 后记 个人总结欢迎转载、评论、批评指正