分布式协调服务器zookeeper
开篇略
zk的读写数据:https://blog.csdn.net/wx1528159409/article/details/84633903
写入成功的节点不包括自己:https://blog.csdn.net/ys_230014/article/details/82224157
---01-23-1---
配置维护:
zk具有同步操作的原子性。
配置维护作用。
域名服务。
分布式同步。
什么是zk的一致性。
---
在分布式系统中如何就一个协议达成一致。
消息传递模型的。
---01-24-2---
三个角色:
proposer:提案者。
acceptor:提案的表决者。
learners:提案的学习者。
每个表决者会accept大于自己的maxN的提案。
算法分析:
提议没有通过并不是废止提议而是再次发送,并递增提案号。例子是在prepare阶段的。
对比n大小 半数 广播。
主要是选leader的。
---
举例三台主机选一个leader。
先选举,选举完毕后广播。
注意是超过半数的表决着。
---01-25-1---
---
哲学家就餐:解决死锁
---
进程的三个基本的状态:就绪 执行 阻塞
解决活锁:https://www.zhihu.com/question/42112507
---
忘记之前的算法,看下ZAB协议。
ZAB协议:
半数节点不包括主节点。
zab是fastpaxos的工业实现,解决问题之一就是活锁的问题。
leader可以读写,follower只能读。
zk的全局递增编号的xid。
红色的是读请求。
增加follower的话会使写请求的效率低,因为投票的多了。
---01-25-2---