Skip to content

Commit

Permalink
Merge pull request #55 from saintube/master
Browse files Browse the repository at this point in the history
ch8: 修改链接错误
  • Loading branch information
Vonng authored Nov 26, 2019
2 parents c592e6c + 5450438 commit 01ec4b9
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ch8.md
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ while(true){

​ 第三种情况,想象一个经历了一个长时间**停止世界垃圾收集暂停(stop-the-world GC Pause)**的节点。节点的所有线程被GC抢占并暂停一分钟,因此没有请求被处理,也没有响应被发送。其他节点等待,重试,不耐烦,并最终宣布节点死亡,并将其丢到灵车上。最后,GC完成,节点的线程继续,好像什么也没有发生。其他节点感到惊讶,因为所谓的死亡节点突然从棺材中抬起头来,身体健康,开始和旁观者高兴地聊天。GC后的节点最初甚至没有意识到已经经过了整整一分钟,而且自己已被宣告死亡。从它自己的角度来看,从最后一次与其他节点交谈以来,几乎没有经过任何时间。

​ 这些故事的寓意是,节点不一定能相信自己对于情况的判断。分布式系统不能完全依赖单个节点,因为节点可能随时失效,可能会使系统卡死,无法恢复。相反,许多分布式算法都依赖于法定人数,即在节点之间进行投票(参阅“[读写法定人数](ch5.md#读写法定人数)):决策需要来自多个节点的最小投票数,以减少对于某个特定节点的依赖。
​ 这些故事的寓意是,节点不一定能相信自己对于情况的判断。分布式系统不能完全依赖单个节点,因为节点可能随时失效,可能会使系统卡死,无法恢复。相反,许多分布式算法都依赖于法定人数,即在节点之间进行投票(参阅“[读写的法定人数](ch5.md#读写的法定人数)):决策需要来自多个节点的最小投票数,以减少对于某个特定节点的依赖。

​ 这也包括关于宣告节点死亡的决定。如果法定数量的节点宣告另一个节点已经死亡,那么即使该节点仍感觉自己活着,它也必须被认为是死的。个体节点必须遵守法定决定并下台。

Expand Down

0 comments on commit 01ec4b9

Please sign in to comment.