1.CAP理论算法
CAP理论,指的是在一个分布式系统中,不可能同时知足Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这三个基本需求,最多只能知足其中的两项。服务器
对于分布式系统而言,分区容错性是一个最基本的要求,由于分布式系统中的组件必然须要部署到不通的节点,必然会出现子网络,在分布式系统中,网络问题是一定会出现的异常。所以分布式系统只能在C(一致性)和A(可用性)之间进行权衡。网络
CAP理论的核心是:一个分布式系统不可能同时很好的知足一致性,可用性和分区容错性这三个需求,最多只能同时较好的知足两个。架构
2.BASE理论框架
BASE理论是指,Basically Available(基本可用)、Soft-state( 软状态/柔性事务)、Eventual Consistency(最终一致性)。是基于CAP定理演化而来,是对CAP中一致性和可用性权衡的结果。分布式
核心思想:即便没法作到强一致性,但每一个业务根据自身的特色,采用适当的方式来使系统达到最终一致性。设计
BASE是反ACID的,它彻底不一样于ACID模型,牺牲强一致性,得到基本可用性和柔性可靠性并要求达到最终一致性。cdn
BASE理论面向的是大型高可用可扩展的分布式系统,经过牺牲强一致性来得到可用性。blog
1.ZAB协议概述事务
1.ZooKeeper并无彻底采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)的协议做为其数据一致性的核心算法。
2.ZAB协议是为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议。
3.在 ZooKeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性,基于该协议,ZooKeeper 实现了一种主备模式的系统架构来保持集群中各个副本之间的数据一致性。
2.ZAB协议的两种基本模式
ZAB协议包含两种基本的模式,即崩溃恢复和消息广播。
当整个服务框架在启动过程当中,或是当 Leader 服务器出现网络中断、崩溃退出与重启等异常状况时, ZAB 协议就会进入恢复模式并选举产生新的 Leader 服务器。当选举产生了新的Leader 服务器同时集群中已经有过半的机器与该 Leader 服务器完成了状态同步以后,ZAB 协议就会退出恢复模式。
当集群中已经有过半的 Follower 服务器完成了和 Leader 服务器的状态同步,那么整个服务框架就能够进入消息广播模式了。当一台一样遵照 ZAB 协议的服务器启动后加入到集群中时,若是此时集群中已经存在一个 Leader 服务器在负责进行消息广播 , 那么新加人的服务器就会自觉地进人数据恢复模式:找到 Leader 所在的服务器,并与其进行数据同步,而后一块儿参与到消息广播流程中去。
欢迎关注个人公众号,第一时间接收最新文章~ 搜索公众号: 码咖 或者 扫描下方二维码: