?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
當Docker引擎以群模式運行時,管理器節(jié)點實施Raft一致性算法來管理全局群集狀態(tài)。
為什么使用Docker swarm模式的原因是使用一個共識算法,以確保那些負責管理和調度任務集群中的所有節(jié)點的經理,都存儲相同一致的狀態(tài)。
在整個集群中具有相同的一致性狀態(tài)意味著如果發(fā)生故障,任何Manager節(jié)點都可以提取任務并將服務恢復到穩(wěn)定狀態(tài)。例如,如果負責在集群中調度任務的負責人經理意外死亡,則任何其他經理都可以執(zhí)行調度任務并重新平衡任務以匹配期望的狀態(tài)。
使用共識算法在分布式系統(tǒng)中復制日志的系統(tǒng)需要特別小心。它們通過要求大多數節(jié)點同意值來確保集群狀態(tài)在出現故障時保持一致。
Raft允許(N-1)/2
失敗,并且要求大多數(N/2)+1
成員或法定成員的成員同意向群集提出的值。這意味著在一個由5個管理員組成的集群中,如果有3個節(jié)點不可用,系統(tǒng)將不會處理更多的請求來安排額外的任務?,F有的任務將繼續(xù)運行,但如果管理器集合不健康,則調度程序將無法重新平衡任務以應對失敗。
集群模式中實現共識算法意味著它具有分布式系統(tǒng)固有的特性:
就容錯系統(tǒng)中的值達成一致。(參考FLP不可能性定理和Raft共識算法論文)
通過領導人選舉過程相互排斥
集群成員資格管理
全球一致的對象排序和CAS(比較和交換)基元
docker,容器,集群,swarm,raft
根據ApacheLicense,版本2.0獲得許可。
Docker,Inc.和其他各方也可以在這里使用的其他術語中擁有商標權。