cluster meet

TuxedoLinux發表於2018-06-04

CLUSTER MEET命令實現:

  1. 節點 A 會為節點 B 建立一個 clusterNode 結構, 並將該結構新增到自己的 clusterState.nodes 字典裡面。
  2. 節點A根據CLUSTER MEET命令給定的IP地址和埠號,向節點B傳送一條MEET訊息。
  3. 節點B接收到節點A傳送的MEET訊息,節點B會為節點A建立一個clusterNode結構,並將該結構新增到自己的clusterState.nodes字典裡面。
  4. 節點B向節點A返回一條PONG訊息。
  5. 節點A將受到節點B返回的PONG訊息,通過這條PONG訊息節點A可以知道節點B已經成功的接收了自己傳送的MEET訊息。
  6. 之後,節點A將向節點B返回一條PING訊息。
  7. 節點B將接收到的節點A返回的PING訊息,通過這條PING訊息節點B可以知道節點A已經成功的接收到了自己返回的PONG訊息,握手完成。
  8. 之後,節點A會將節點B的資訊通過Gossip協議傳播給叢集中的其他節點,讓其他節點也與節點B進行握手,最終,經過一段時間後,節點B會被叢集中的所有節點

相關文章