最近在二刷《Redis设计与实现》,顺便把Redis的源码也撸了一遍。以下是我对照Redis v3.0的源码将Redis复制、哨兵和集群相关流程整理了一遍供大家参考。
流程图使用OmniGraffle做的,为了方便分析尽量都对每个流程按照不同视角或是不能功能部分分了图层处理。以下也都会先以分图层展示,最后再合并展示主流程。
复制流程
Slave View

Master View

完整流程

哨兵
哨兵启动流程

SentinelTimer

完整流程

集群
集群节点启动流程

clusterCron

集群文件时间处理(普通客户端命令与集群消息)

集群完整流程

以上源文件可以私信我索取。源代码注释可以从我的代码仓库。