Zookeeper角色
Leader: 写
Follewer: 读(可以参与选举)
Observer: 读
zoo.cfg
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
server.4=zoo4:2888:3888:observer
端口2888由对等zookeeper服务器使用,用于互相通信;而端口3888用于领导选举
Paxos协议
先说Paxos,它是一个基于消息传递的一致性算法
过半通过,二阶段提交(总统把内容写下,并发送给其他议员;总统收到过半回复,就发布命令)
详细参考: https://www.douban.com/note/208430424/
Zab协议
zookeeper的原子广播协议
原子:要么成功、要么失败,没有中间状态(队列+2阶段)
广播:分布式多节点,不代表全部都收到(过半)
步骤:
1.client向follower发起一个请求create
2.follower把请求转发到Leader
3.l