集群間通訊的訊息型別

2022-08-20 07:21:13 字數 1647 閱讀 6903

訊息型別

傳送方-->接收方

說明diff,13

leader-->learner

通知learner伺服器,leader即將與其進行diff方式的資料同步

trunc,14

leader-->learner

觸發learner進行記憶體資料庫的回滾操作

snap,15

leader-->learner

leader即將與其進行」全量「資料同步

uptodate,12

leader-->learner

告訴learner伺服器已經完成了資料同步,可以開始對外提供服務了

訊息型別

傳送方-->接收方

說明obsercerinfo,16

observer-->leader

observer在啟動時發給leader註冊自己,訊息中包含sid和自己已處理的最新zxid

followerinfo,11

follower-->leader

followerr在啟動時發給leader註冊自己,訊息中包含sid和自己已處理的最新zxid

leaderinfo,17

leader-->learner

learner連上leader後,leader傳送leaderinfo,包含最新的epoch值

ackepoch,18

learner-->leader

learner在收到leaderinfo後,將自己最新的zxid和epoch發給leader

newleader,19

leader-->learner

資料同步時,leader向learner傳送乙個階段性的標識資訊

訊息型別

傳送方-->接收方

說明request,1

learner-->leader

follower將事務請求已request協議形式**給leader進行處理

proposal,2

leader-->follower

leader將事務請求以proposal訊息形式發給所有follower進行事務日誌的記錄

ack,3

follower-->leader

follower記錄完事務日誌後,將ack反饋給leader

commit,4

leader-->follower

leader告知所有follower進行事務提交

inform,8

leader-->observer

在commit階段,leader值需要傳送乙個commit訊息,follower就可根據已有的事務日誌完成提交了;但是對於observer則需要傳送完整的訊息

sync,7

leader-->learner

用於通知learner已經完成了sync操作

訊息型別

傳送方-->接收方

說明ping,5

leader-->learner

leader定期向learner傳送ping請求,learner將自己連線的客戶端列表傳送給leader,由leader逐個對這些客戶端進行啟用

revalidate,6

learner-->leader

客戶端重連過程中,新的伺服器需要向leader傳送改訊息確認會話是否已超時

程序間的通訊 訊息佇列

訊息佇列 佇列是先進先出,把寫入的訊息按佇列的方式排列,然後讀取訊息時按佇列性質讀取,或按指定的型別號讀取 實現訊息佇列的步驟 1.獲取key值,2.建立訊息佇列,取得訊息佇列的id 3.向訊息佇列裡寫入訊息 4.讀取訊息佇列的訊息 5.刪除訊息佇列 讀端 include include inclu...

程序間訊息佇列通訊

要保證server能夠接收client的訊息,就必須保證server的生成的msg的識別符號是一樣的,也就是兩個用的key是必須一樣的。msglucy.c include include include include include include include include include ...

程序間通訊(訊息佇列)

在嵌入式linux應用開發中,linux程序通訊的方式有6種,分別是管道 pipe 及有名管道 named pipe 訊號 signal 訊息佇列 msg 共享記憶體 shm 訊號量 和套接字 socket 在這我就簡單的描述一下程序通訊中的資訊佇列 msg 首先,訊息佇列的實現有重要的幾步 1 建...