分布式事务基本概念

195 阅读3分钟

CAP

CAP理论作为分布式系统的基石,CAP理论告诉我们,任何基于网络共享系统,最多只能满足一致性 (C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个要素中的两个要素

BASE

BASE理论是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent (最终一致性)三个短语的缩写。BASE理论是对CAP理论中的一致性和可用性权衡的结果,通过对互联网系统分布式实践的总结,其核心思想是在分布式系统中,即使无法做到强一致,但每个服务可以结合自身的业务特点,采用适合自己的方式使系统达到最终一致性。BASE理论中的三要素描述如下:

1、基本可用 基本可用是指分布式系统在出现故障后,允许部分可用性损失,即是保证核心服务或链路是可用的。 比如:电商大促,当出现访问量陡增,为了保证系统的可用性,部分商户可能被引导到降级页面,保证大部分商家的一个可用性。

2、软状态 软状态指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体。比如电商网站上看到的商品剩余数量,评论数据,点赞数等;

3、最终一致性 最终一致性强调的是所有的数据副本,在经过一段时间的同步之后,最终都能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。 总的来说,BASE理论面向的是大型高可用可扩展的分布式系统,和传统的事物 ACID 特性是相反的,它完全不同于 ACID 的强一致性模型,而是通过牺牲强一致性来获得可用性,并允许数据在一段时间内是不一致的,但最终达到一致状态。但是在分布式系统的场景中,不同的业务单元对数据的一致性要求是不同的,因此在架构设计中,ACID与BASE理论往往是结合一起考虑的。

Paxos

资料: www.cnblogs.com/linbingdong…
Paxos 算法是基于消息传递且具有高效容错特性的一致性算法,目前公认的解决分布式一致性问题最有效的算法之一.
在常见的 分布式系统中总会发生节点宕机或网络异常 (包括消息的重复、丢失、延迟、乱序、网络分区) 等情况.
Paxos 算法主要就是解决如何在一个发生如上故障的分布式系统中,快速正确的在集群内对某个值达成一致,并且保证 整个系统的一致性.

基本概念:
Proposal Value:提议的值;
Proposal Number:提议编号,要求提议编号不能冲突;
Proposal:提议 = 提议的值 + 提议编号;
Proposer:提议发起者;
Acceptor:提议接受者;
Learner:提议学习者(没参与,最后接受提议).

paxos算法的执行过程如下,图为网上截图,讲解比较清晰,但是第二阶段中有点小错误,if(收到了超过半数的pok)第二部分为返回为(pok,AcceptN,AcceptV)。