最近在二刷《Redis设计与实现》,顺便把Redis的源码也撸了一遍。以下是我对照Redis v3.0的源码将Redis复制、哨兵和集群相关流程整理了一遍供大家参考。
流程图使用OmniGraffle做的,为了方便分析尽量都对每个流程按照不同视角或是不能功能部分分了图层处理。以下也都会先以分图层展示,最后再合并展示主流程。
复制流程
Slave View
Master View
完整流程
哨兵
哨兵启动流程
SentinelTimer
完整流程
集群
集群节点启动流程
clusterCron
集群文件时间处理(普通客户端命令与集群消息)
集群完整流程
以上源文件可以私信我索取。源代码注释可以从我的代码仓库。