在zookeeper中,客戶端會隨機(jī)連接到zookeeper集群中 的一個節(jié)點,如果是讀請求钱雷,就直接從當(dāng)前節(jié)點中讀取數(shù) 據(jù),如果是寫請求吹零,那么請求會被轉(zhuǎn)發(fā)給leader提交事務(wù)罩抗, 然后 leader 會廣播事務(wù),只要有超過半數(shù)節(jié)點寫入成功瘪校, 那么寫請求就會被提交
所有事務(wù)請求必須由一個全局唯一的服務(wù)器來協(xié)調(diào)處理澄暮,這個服務(wù)器就是 Leader 服務(wù)器,其他的服務(wù)器就是follower阱扬。leader服務(wù)器把客戶端的失去請求轉(zhuǎn)化成一個事務(wù) Proposal(提議)泣懊,并把這個 Proposal 分發(fā)給集群中的所有Follower 服務(wù)器。之后 Leader 服務(wù)器需要等待所有Follower服務(wù)器的反饋麻惶,一旦超過半數(shù)的Follower服務(wù)器進(jìn)行了正確的反饋馍刮,那么 Leader 就會再次向所有的Follower服務(wù)器發(fā)送Commit消息,要求各個follower節(jié)點對前面的一個Proposal進(jìn)行提交