rocketmq學習-4.基于dledger技術的broker主從同步

DLedger技術替換broker的CommitLog,由DLedger來管理CommitLog

每一個broker上都有一個DLedger組件

1.DLedger基于Raft協(xié)議選舉Leader Broker

Raft協(xié)議簡單來說是:

如果一輪下來選不出Leader的話,就讓大家隨機休眠.首先蘇醒的投票給自己,其他人蘇醒之后發(fā)現(xiàn)收到選票,就會跟投

2.DLedger基于Raft協(xié)議進行多副本同步

數(shù)據(jù)同步分為兩個階段,一個是uncommited階段,一個是commited階段

Leader Broker上的DLedger收到一條數(shù)據(jù)后,會標記為uncommited狀態(tài),然后會通過自己的DledgerServer把這個uncommited數(shù)據(jù)發(fā)送給follower broker的DLedgerServer

然后follower broker的DLedgerServer收到uncommited之后,會返回一個ack給Leader,然后Leader收到了超過半數(shù)的follower返回的ack之后,會將這條消息標記為committed狀態(tài)

可以理解為主從同步中的同步雙寫

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

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

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