一致性算法
数据层一致性算法背景传统的主从同步无法同时保证数据的一致性和可用性,分布式系统中著名的CAP理论从理论上证明了这个问题。CAP理论告诉我们C、A、P三者不能同时满足,最多只能满足其中两个。
一般来说使用网络通信的分布式系统,无法舍弃P性质,那么就只能在一致性和可用性上做一个艰难的选择。既然在分布式系统中一致性和可用性只能选一个。
那么一致性算法, 就是在保证一定可用性的前提下, 同时保证数据的一致性;
那Paxos、Raft、Zab、gossip 等算法的作用就是在保证一定可用性的同时, 对外提供强一致性或者最终一致性;
一致性算法的分类
强一致性
说明:保证系统改变提交以后立即改变集群的状态。
模型:
Paxos
Raf
...