- 在构建可靠的、高可用的系统过程时,分布式共识系统适合用来维护某个强一致的系统状态。
- CAP理论: Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),论述了一个分布式系统不可能同时满足以下三个要求:
(1)每个节点上所见数据是一致的。
(2)每个节点都可以访问数据。
(3)可以承受网络分区问题。
- BASE理论:基本可用、软状态、最终一致性(basically available、softstate、eventual consistency)。
- 系统设计师不能通过牺牲正确性来满足可靠性或者性能的要求,尤其是在处理关键数据时。
例如,假设某个系统处理财务交易:可靠性和性能在最终结果不正确的情况下一文不值。
- 很多分布式系统问题最后都归结为分布式共识问题的不同变种,包括领头人选举,小组成员信息,各种分布式锁和租约机制,可靠的分布式队列和消息传递,以及任何一种需要在多个进程中共同维护一致的关键状态的机制。所有这些问题都应该仅仅采用经过正式的正确性证明的分布式共识算法来解决,还要确保这个算法的实现经过了大量测试。任何一种临时解决这种问题的方法(例如心跳,以及谣言协议)在实践中都会遇到可靠性问题。
- Paxos概要:协议示例
Paxos 是基于提案(proposal)序列运行的,这些提案可能会被“大多数(majority)”进程所接受,也可能会被拒绝。如果某个提案没有被接受,那么它就是失败的。每个提案都对应有一个序列号,这就保证了系统的所有操作有严格的顺序性。
在协议的第一阶段,提案者(proposer)发送一个序列号给数个接收者(acceptor)。每个接收者仅仅在没有接受过带有更高序列号的提案情况下接受这个提案。提案者必要时可以用更高的序列号重试提案。提案者必须

本文介绍了在构建高可用系统中,分布式共识的重要性,探讨了CAP理论和BASE理论,强调了正确处理关键状态的必要性。Paxos协议作为分布式共识的一种,其工作原理和挑战被详细阐述。此外,文章还提到了领头人选举、分布式锁和原子性广播等应用场景,以及在设计分布式系统时需要考虑的性能因素和副本数量的选择。
最低0.47元/天 解锁文章
406

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



