redis集羣是如何組建的

1. 問題

redis集羣是如何組建的,新的節點如何加入集羣

 

2. 瞭解命令meet

1) 首先節點各自獨立啓動,會選擇以集羣的方式啓動

2)該節點通過meet邀請其他節點加入集羣 

3. 實現

通過向節點A發送cluster meet命令,客戶端可以讓接受命令的節點A將另一個節點B添加到集羣中

 cluster meet <ip> <port>

1) 節點A在集羣中

2)客戶端向節點A發送cluster meet命令

3) 節點A會爲節點B創建一個clusterNode結構 ,並添加到自己的集羣狀態clusterState.nodes結構中

4) 節點A根據ip和端口,向節點B發送一條meet 消息

5) 節點B收到meet消息,爲節點A創建一個clusterNode結構,並加入自己的clusterState中nodes字典中

6) 節點B向節點A返回PONG

7) 節點A收到PONG消息,並回復一條PING消息,握手結束

8) 節點A會將節點B的消息通過Gossip協議傳播給集羣中的其他節點,讓其他節點也與節點B握手,最終,節點B被所有節點認識。

發佈了206 篇原創文章 · 獲贊 104 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章