问题一:什么是Multi Paxos?
什么是Multi Paxos?
参考回答:
Multi Paxos是通过反复执行Basic Paxos,为日志序列中每一条日志达成共识的协议。在Multi Paxos中,每一轮共识都有一个Log ID,相当于日志序列中的位置标识。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618376
问题二:Log ID和Proposal ID(Epoch ID)的全局唯一且单调递增的约束是出于什么考虑?
Log ID和Proposal ID(Epoch ID)的全局唯一且单调递增的约束是出于什么考虑?
参考回答:
Log ID的全局唯一且单调递增的约束是出于正确性的考虑,确保各状态机最终应用的命令序列是完全一致的。而Proposal ID(Epoch ID)的全局唯一且单调递增的约束主要还是出于效率的考虑。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618377
问题三:原始Basic Paxos的基本流程有示例图不?
原始Basic Paxos的基本流程有示例图不?
参考回答:
正好我存了,你看下,
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618378
问题四:什么是LiveLock问题?它是如何产生的?
什么是LiveLock问题?它是如何产生的?
参考回答:
LiveLock问题源于Basic Paxos,在并发度较高的场景下,如果多个Proposer同时发起PREPARE提案,可能会导致循环往复的争抢提议权,形成了活锁。具体来说,当一个Proposer的PREPARE提案成功后,其他的Proposer可能会快速提高Proposal ID重新发起PREPARE提案,导致之前的Proposer的ACCEPT决议失败,进而也提高Proposal ID重新发起PREPARE提案,如此循环。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618379
问题五:如何解决LiveLock问题?
如何解决LiveLock问题?
参考回答:
解决LiveLock问题的方法有两种。一是控制各Proposer发起提案的频率,降低并发冲突的概率。二是在提议失败重试的时候增加超时退避,以减少立即重试导致的持续冲突。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618380