Raft實現(xiàn)報告(14)

Raft實現(xiàn)報告(14)

支持動態(tài)更新配置

集群配置會使用復(fù)制日志中的特殊條目進(jìn)行存儲和通信


動態(tài)更新配置

上圖說明了備至更改的過程。當(dāng)leader收到配置將從舊版本升級到新版本的時候,它會講聯(lián)合共識的配置存儲為日志條目,并使用之前描述的機(jī)制復(fù)制該條目。一旦給定的服務(wù)器將新的配置提哦阿木天見到了其日志中,它會將該配置用于未來所有的決策(服務(wù)器始終是勇氣日志中的最新配置,無論條目是否已經(jīng)提交)。這意味著leader會根據(jù)集群的新舊聯(lián)合配置的規(guī)則來確定該配置何時提交。如果leader崩潰,可能會在新的集群配置下,或者舊的集群配置下重新選舉,具體取決于獲勝的candidate是否收到了聯(lián)合集群配置。在任何情況下,新的集群配置都不能再次期間作出單方面的決定。

一旦聯(lián)合配置被提交。舊的集群和新的集群都不能在沒有對方批準(zhǔn)的情況下作出決定,并且Leader Completeness特性確保只有擁有聯(lián)合配置的日志條目的服務(wù)器才能被選為leader。leader仙酒可以安全的創(chuàng)建描述新集群配置條目并將其復(fù)制到集群中。同樣,此配置將在每一臺服務(wù)器上生效。當(dāng)新配置生效后,舊的配置就無關(guān)緊要了,可以關(guān)閉不在新配置中的服務(wù)器。如圖所示的,新集群和舊集群都沒有時間可以單方面作出決定,這是為了確保安全。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容