所以,我正在阅读the Bully algorithm和其他类似的算法,这很简单,但有一件事我不明白,为什么我们首先需要一个协调员?一旦他成为协调员,流程会做什么?任何真实的例子都很棒,用C语言或Java语言,或者只是单词。
答案 0 :(得分:4)
协调员究竟做了什么取决于你。这有点像查看排序算法并询问“但为什么我要将数据排序?”排序算法实际上并不关心为什么 - 只是理所当然地认为如果你要使用排序算法,你就有理由对数据进行排序。
同样,Bully算法的基本假设是你开始需要某种方式让分布式系统选择某种协调器。
例如,假设您有一个分布式文件系统。为了简单起见,它将成为一个主/从系统:任何时候一个文件被更改,一些变化的记录(差异,整个文件,等等)机器发生的变化将它发送给主。然后,主设备确保更改通过整个系统传播。
为此,您需要选择一台机器作为主机。你不一定非常关心那些,但你必须确保所有机器都同意它将是哪一个。 Bully算法可以做到这一点。