ookeeper的選舉過程大致如下:
選出乙個在n/2+1個節點中選出乙個節點為主節點
比如三個組成的集群: n/2+1 = 2 ,第二台是master
比如三個組成的集群: n/2+1 = 3 ,第三台是master
zookeeper的選舉過程,就是選出乙個在n/2+1個節點中選出乙個節點為主節點的過程。比如,當我們啟動乙個有5個節點的zookeeper集群的時候。首先啟動server1,然後server1選舉自己為leader,但是現在只有1個節點,所以無法確定leader,server1就處於looking狀態;
然後啟動server2,這個時候server2也是選舉自己為leader,和server1比較一下id,發現server2的id大,所以選舉server2為leader,但是現在集群節點數還是小於3,然後啟動server3,server3根據接受到的資訊,比較後發現,server3的id最大,所以server1,server2,server3都選舉server3為leader;
因為此時有3個選了server3為leader,然後3>=3,所以server3為leader,server1,server2為follower,然後啟動server4,和server5,這個時候因為server3已經是leader,所以server4與server5只能是follower狀態;
這個是初次啟動的狀態,如果不是初次啟動的話,還需要判斷各個server裡面儲存訊息的狀態是否是最新的。如果是最新的,再去找id最大的。選舉也和初次是一樣的。
zookeeper之leader選舉過程
關於leader選舉會分為兩個過程 1.啟動時leader的選舉 2.leader崩潰時的選舉 一在每個節點剛啟動的時候,狀態都是locking狀態,然後就會開始選舉的流程,因為leader選舉至少需要兩台伺服器,所以一般會選舉三颱組成伺服器集群。當第一台伺服器剛啟動的時候,它自己是無法進行和完成l...
zk選舉過程
zk集群的執行模式 1.名詞解釋 client 使用zk集群服務的客戶端 leader zk集群真正對外服務的機器,乙個zk集群只有一台leader伺服器 flower zk集群中除leader伺服器的其他伺服器 zk集群中每個機器都是通過tcp實現連線,通過心跳的機制檢測服務是否正常 2.lead...
MongoDB的選舉過程
mongodb的複製集具有自動容忍部分節點宕機的功能,在複製集出現問題時時,會觸發選舉相關的過程,完成主從節點自動切換.每個複製集成員都會在後台執行與複製集所有節點的心跳執行緒,在兩種情況下會觸發狀態檢測過程 在狀態檢測過程大致包含以下步驟 如果所有條件滿足,則將自身新增到主節點備用列表中,否則,將...