Zookeeper
1、分布式系统脑裂
在一个分布式系统中,不同服务器获得了相互冲突的数据信息或者执行指令,导致整个集群陷入混乱,数据损坏,称为分布式系统脑裂。
2、数据库主主备份
3、分布式一致性算法Paxos
有三个角色: Proposer、Acceptor、Leaner
分为三个阶段:Prepare阶段 、Accept阶段、Learn阶段。
Prepare阶段:Proposer向Acceptors发出Prepare请求,Acceptors针对收到的Proposer请求进行Promise承诺;
Accept阶段:Proposer收到多数Acceptors承诺的Promise后,向Acceptors发出Proposer请求,Acceptors针对收到的Propose请求进行Accept处理。
Learn阶段:Proposer在收到多数Acceptors的Accept之后,标志着本次Accept成功,决议形成,将形成的决议发送给所有Learners。
Proposer生成全局唯一且递增的Proposal ID(也可以使用时间戳加Server ID),向所有Acceptors发送Prepare请求,这里无需携带提案内容,只携带Proposal ID即可。
Acceptors收到Prepare和Propose请求后,将作出如下判断:
不在接受Proposal ID小于等于当前请求的Prepare请求。
不在接受Proposal ID小于当前请求的Prepare请求。
4、Zookerper架构
5、ZAB协议
6、ZK的树状记录结构
7、选master
评论