首页 > 解决方案 > 我的领导人选举算法是否绕过了 FLP 结果?

问题描述

基于 FLP 结果,异步网络系统中无法解决任何共识问题,选择唯一的领导者是一种共识问题。因此,理论上,leader选举在异步网络系统中是一个无法解决的问题。

但是,当我了解了“可靠广播”的概念后,每个非故障节点都负责广播它们从其他节点接收到的任何值,因此可以实现“每个非故障节点都获得相同的消息集(忽略命令)”。那么,如果每个节点都使用可靠的广播将其节点 ID 发送给其他节点,是否意味着最终每个非故障节点都将获得相同的节点 ID 集,从而能够决定相同的领导者(简单地说,具有最大我是领导者)?

如果是这样,那为什么说领导人选举无法解决?还是我对某事感到困惑?

标签: asynchronousdistributed-computingdistributed-systemconsensusleader-election

解决方案


可靠广播使用(完美)故障检测器来了解集群中的哪个进程已经崩溃。这种检测器根本不存在于异步网络中,因为您基本上无法区分这种网络中的慢速故障进程。

因此,您不能依靠可靠的广播来解决您想要的问题。

一旦单个进程崩溃,您的算法将永远不会终止。因此,它根本不会容忍任何故障,因此您根本不会绕过 FLP。


推荐阅读