网站建设需要哪些的ps,荥阳企业网站建设,平面设计网站,简单的网站开发流程图返回目录
FAIL的发送
过程
构建消息头把处于FAIL状态的node的ID填入消息的数据部分广播消息
遍历cluster节点字典:跳过还没有创建连接的node跳过myself和处于handshake的node给node发送FAIL消息FAIL的接收处理
过程
第1 ~ 3步是涵盖所有类型的消息#xff0c;详细请参考…返回目录
FAIL的发送
过程
构建消息头把处于FAIL状态的node的ID填入消息的数据部分广播消息
遍历cluster节点字典:跳过还没有创建连接的node跳过myself和处于handshake的node给node发送FAIL消息FAIL的接收处理
过程
第1 ~ 3步是涵盖所有类型的消息详细请参考PING/PONG/MEET。
合法性检查根据link和消息头从cluster节点字典中查找实体sender通用处理处理FAIL消息
if sender存在:根据FAIL消息数据中的nodename在cluster节点字典中查找nodeif node存在 node ! myself /* 我们都收到消息了不可能FAIL */node没有处于FAIL状态: /* 没FAIL才需要更新状态 */把node更新成FAIL /* 如果原本处于PFAIL则先需要清除PFAIL */设置node的failTime为当前时间
else: /* sender不存在 */不清楚sender的身份所以忽略此消息UPDATE的发送
过程
构建消息头把需要update的node的IDconfigEpoch和slots填入消息的数据部分给node发送UPDATE消息
UPDATE的接收处理
过程
第1 ~ 3步是涵盖所有类型的消息详细请参考PING/PONG/MEET。
合法性检查根据link和消息头从cluster节点字典中查找实体sender通用处理处理UPDATE消息
if sender不存在: /* 不清楚sender的身份丢弃消息 */return
根据消息数据中的hostname在cluster节点字典中查找node
if node不存在: /* 没有node的信息不需要更新 */return
if node的configEpoch 消息数据中的configEpoch: /* 消息是旧的丢弃掉 */return
if node原本是slave: /* UPDATE消息是用来更新slot的归属所以只针对master节点 */把node转换成master /* 参考PING/PONG/MEET的 Point-3 */
/* 更新node的configEpoch */
node的configEpoch 消息数据中的configEpoch
重新绑定消息数据中的slots到node /* 参考PING/PONG/MEET的 Point-6 */