-
Notifications
You must be signed in to change notification settings - Fork 93
主备实现原理
gaoshengL edited this page Nov 5, 2021
·
17 revisions
- Pod分布在不同的物理机,每个Pod包含redis-docker(2POD)或sentinel-docker(3POD)
- 应用只需要配置redis VIP(ClusterIP)访问Redis集群
- redis/sentinel在容器起来时执行deploy程序初始化加入集群
- 采用k8s有状态副本集,启动顺序遵顺,Pod有序启动,Sentinel启动后Redis容器启动
- 调度尽量打散,可支持SSD可选,IO可控制
- redis容器需要等待sentinel容器副本集全部起来启动,对空的sentinel进行注册
- 对于非空注册信息的sentinel,如果注册信息异常,redis容器启动的时候redis deploy那么会清空sentinel的信息进行新注册,如果是ok的注册信息那么deploy会找到master节点作为slave加入
- 当遇到灾难性主备节点同时挂的情况,第一个启动的master节点会拉取远端的备份数据加载启动
- sentinel单点故障的时候会从其他sentinel获取master节点信息注册,而所有sentinel故障时会判断master节点是否存在而注册
- 利用事务机制,在事务头和尾中插入otter同步标识
- 解析时识别同步标识,判断是否需要屏蔽同步