为什么在卡桑德拉竞选总统需要Paxos

时间:2018-07-30 11:26:02

标签: cassandra paxos leader gossip

我正在阅读有关分布式共识的协议,并且遇到了Paxos。它指出您需要Paxos进行领导选举。 Article主张相同。因此,我的问题是,当Cassandra是环形架构而不是主从架构时,为什么它需要一个领导者选举机制。而且,如果答案是肯定的,那么卡桑德拉环组织中的领导者的角色是什么。当八卦协议用于环网通信时。

2 个答案:

答案 0 :(得分:2)

本文演示了一个示例,该示例使用Cassandra的“轻量交易”功能实现了领导者选举算法。它不是为Cassandra选择一个主节点。

答案 1 :(得分:1)

领导者选举系统仅用于轻量交易。轻量级交易使用户可以隔离性能价格。

请考虑以下示例: 系统为用户管理资金。 假设有一个用户想要在帐户中插入100 $。

当前余额(0 $)+新钱(100 $)= 100 $。

另一个用户希望更新相同的帐户。他在该帐户中插入了20美元。 他的计算发生在第一人称插入他的钱之前。

当前余额(0 $)+新钱(20 $)= 20 $。

人们希望两次插入货币后的余额为120美元。但是,如果没有领导者的选举,一个写操作将覆盖另一个写操作,根据最后完成的写操作,您将剩下100美元或20美元。

领导者选举允许节点在单个资源上同步其更新,以确保每个计算都被隔离。 “如果值是0 $,我将更新该值。”选择完毕,以便一个节点可以针对特定请求协调事务。

在我们的示例中,将更新100 $,但20 $将失败,用户需要重试。

请记住,此领导者体系结构与主/从体系结构明显不同。在这种情况下不会出现单点故障,因为领导者可以是特定请求的任何节点。

有关此主题的更多信息,您可以找到here