发生主备倒换的原因有哪些?
主备倒换有以下几种可能的场景:
- 用户自行从DCS控制台界面发起“主备倒换”操作,切换主实例。
- DCS检测到主备实例的主节点存在故障后,触发实例“主备倒换”操作。
例如,使用了keys等消耗资源的命令,导致CPU超高,触发主备导致。
- 用户在DCS界面上执行重启操作,可能触发备节点升为主节点,即主备倒换。
- 单机、主备和读写分离实例在扩容过程中,会发生主备倒换。
扩容过程中,实例会创建新规格的节点作为备节点,主节点数据全量+增量同步到备节点后进行主备切换并删除原节点,完成扩容。
发生主备倒换后,系统会上报主备倒换事件,收到该事件通知后,请查看客户端业务否存在异常,如果业务不正常,则需要确认客户端tcp连接是否正常,是否支持在主备倒换后重新建立tcp连接恢复业务。
主备倒换的业务影响
DCS主备或者集群实例发生异常时,会触发内部主备倒换,并自动恢复,在异常检测和恢复期间,可能会影响业务,时间在半分钟内。
主备实例发生主备倒换后是否需要客户端切换IP?
不需要。主节点故障后,IP地址绑定到备节点,绑定后,原备节点升级为主节点。
Redis主备同步机制怎样?
Redis主备实例即主从实例。一般情况下,Redis主节点的更新会自动复制到关联的备节点。但由于Redis异步复制的技术,备节点更新可能会落后于主节点。例如,主节点的I/O写入速度超过了备节点的同步速度,或者因异常原因导致的主节点和备节点的网络延迟,使得备节点与主节点存在滞后或者部分数据不一致,若此时进行主备切换,未及时完成同步的少量数据可能会丢失。