选举领导者的方式有很多,这里只介绍一种由 Leslie Lamport 建议的简单方式。 让有 最高 ID 的服务器作为领导者 可以通过每个服务器定期(每 T ms)向其他服务器 发送心跳消息 的方式来实现。这些消息包含发送服务器的 ID 如果它们没有能收到某一具有高 ID 的服务器的心跳消息,这个间隔(通常是 2T ms)需要设置的足够长,让消息有足够的通信传递时间。所以,如果这些服务器没有能接收到高 ID 的服务器消息,然后它们会自己选举成为领导者。 也就是说,首先它会从客户端接受到请求,其次在 Paxos 协议中,它会 同时扮演 proposer 和 acceptor 如果机器能够接收到来自高 ID 的服务器的心跳消息,它就不会作为 leader,如果它接收到客户端的请求,那么它会 拒绝 这个请求,并告知客户端与 leader 进行通信。 非 leader 服务器不会作为 proposer,只会作为 acceptor 这个机制的优势在于,它不太可能出现两个 leader 同时工作的情况,即使这样,如果出现了两个 leader,Paxos 协议还是能正常工作,只是不是那么高效而已。 应该注意的是,实际上大多数系统都不会采用这种选举方式,它们会采用基于 租约 的方式(lease based approach),这比上述介绍的机制要复杂的多,不过也有其优势。 —- 编译者/作者:嘿嘿嘿 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Paxos如何选举leader
2020-01-19 嘿嘿嘿 来源:区块链网络
LOADING...
相关阅读:
- 根据Filecoin官方消息称,太空竞赛将至!我们拿什么衡量矿工实力?2020-08-06
- 为什么说IPFS可能战胜http协议?2020-08-06
- 央行数字货币有消息了BCH或分叉第二个“BSV”2020-08-06
- Staking Finance | 质押方式的共识金融已经到来2020-08-06
- 智合云汇:时代新风向,让更多人认知IPFS星际文件系统2020-08-05