一致性:
原子性:
单一试图:
可靠性:
最终一致性:同步的过程是不可以访问的。
保证数据读取到的都是最新的但是不一定是实时的。
---
---
paxos算法:
提案者 表决者 学习者
过程阶段
---
---
---
我我选我有的注意了。
---
活锁的问题:
就是互相拆自己的台。
---
第二个就是leader方式的。
---
ZAB:
xid是全局递增的编号。
读一个节点如果不是最新的数据死读不出来的。
系统正常工作是fast Paxos算法
选举是Paxos算法
三类角色:
三个数据:
xid只会增加纪元更新了xid不清零。
三种模式:
---
---
初始化同步(广播)
leader怎么知道它有的事务其它的没有。
---
消息广播算法:
一个问题:由于使用的是fast-proxy算法,已经是最大的了,为什么还要比较呢?
一个问题:最后的ACK有什么用呢?
---
问题1:ABA问题
不是一个节点的话数据不一致了,找个是不存在的。更新8的时候,递归找zxid-1的事务和leader事务比较。递归直到找到有的。
---
---
---
---
四台机器选举最后选举的只可能是5这个。zxid大的就当选。
---
---
leader选举的算法:
选举这个zxid是不递增的。
1.集群启动时候的leader选举 :先比较zxid再比较myid。
2.宕机后的leader选举。
---
集群的容灾。
5台和6台可以挂两台主机。
---
CAP
---
zk的cp客户端提交事务请求之后,follower在同步时候集群不提供服务的。
---
脑裂
---
ACL:子节点不能继承父节点的权限,是独立的。
---
授权对象:
---
---
权限:https://www.cnblogs.com/dalianpai/p/12748144.html
-------------------
补充:2.2(2)
leader选举:
最看这一个方法