重新定位redis集群选举流程(redis 选举流程)
定位(orientation),指的是一个群体朝着一个共同的方向运动,也是一种共识及协作的艺术。而在分布式数据库中,重新定位将是一个具有挑战性的过程,主要是因为分布式系统的每个节点都要有一个准确的状态和位置定位,特别是redis集群中的有效节点的定位,其本身就是一个复杂的过程。本文着重介绍redis集群选举流程中的重新定位,正是因为其复杂性,所以把它分为六个部分加以详细说明,具体如下:
1. 节点加入:新节点加入redis集群时,首先要宣称自己的信息给集群中的其他节点,以便它们了解新节点是谁,但不会马上影响其他节点的位置定位。
CLIENT ID
2. 通知其他节点:然后新节点会通知其他节点,让其们知晓有新的节点加入了集群。
NOTICE ME
3. 验证:把新节点加入之前,其他节点会对新节点进行验证,检查它是否已经完成了加入集群的所有步骤。
CONFIRM
4. 定位:定位阶段是将新节点确定唯一位置的过程,该过程分为两步:第一步,所有的节点向新加入的节点发送自己的定位信息,让新节点了解其他节点的位置,然后第二步,新节点根据收到的位置信息为自己确定一个唯一的位置。
LOCATION
5. 同步:完成定位之后,新节点将会进行数据同步,也就是跟已存在的节点保持数据一致性,即使新节点加入之前已存在的节点中的数据发生变化,新节点也会拉取最新的数据进行同步,以达到最新的一致性。
SYNC
6. 握手:最后剩下了最后一步,新节点要和集群中的其他节点握手,以完成整个重新定位的流程。
HAND
重新定位redis集群的确是一个复杂的过程,但是只要依次完成上述六步,就可以完成重新定位,使新节点成功加入所在的redis集群中。
相关文章