分布式场景数据一致性是关键
分布式系统有三个指标,即CAP:
- 一致性 Consistency
- 可用性 Availability
- 分区容错性 Partition tolerance
分区容错即不同节点间通信存在异常情况。
系统设计需考虑这种情况,无法避免,因此P必然成立,但C和A只能满足一个:
一致性 即节点A有变更,然后通知节点B变更,保持和A一致。
可用性 即不管节点A和B只要收到请求就必须返回可用的数据,数据不保证一致。
那么问题来了,为啥C和A不能同时满足?
因为通信失败
所以,系统设计只能选择一致性或可用性作为主要追求目标。
在数据敏感且重要的系统应用中优先考虑一致性,不能保证每个节点可用,即通过时间来保证节点数据一致后才能使用。
在数据不是很敏感,可支持不同节点数据不一致但提供可用性,数据一致性没法保证。
分布式协议算法 Poxos算法最为有效,已被广泛使用,典型应用Zookeeper,通过选举人推举Leader,follower,心跳保活等机制实现选主协调。
1379

被折叠的 条评论
为什么被折叠?



