bully演算法
發布時間: 2024-11-10 00:09:44
『壹』 ES原理之選主流程
分布式系統的集群方式大致可以分為主從模式(Master-Slave)和無主模式。
常用的選舉演算法有比較簡單的Bully演算法和復雜而強大的Paxos演算法。
每個節點有一個唯一ID,然後對集群中所有的節點ID進行排序,選取其中最小的ID所屬的節點作為Master。
Bully演算法的問題: 假設當前Master因為負載過重而假死,然後ID第二大的被選舉為新的Master,這時舊的Master恢復然後又被選舉為Master然後又會因為負載過重而假死......
Paxos實現起來非常復雜,但非常強大,尤其在什麼時機,以及如何進行選舉方面的靈活性比簡單的Bully演算法有很大的優勢,因為在現實生活中,存在比網路鏈接異常更多的故障模式。
ES使用的是Bully演算法,並對其做了一些優化:
熱點內容