我有以下 Redis/Sentinel 配置:
- Redis 主
A
+N
从 M
哨兵监视A
,命名masterA
- 客户端应用程序查询哨兵
masterA
,然后查询和修改A
现在说A
已经过时了,我想用一个新的 Redis 主服务器替换它B
(停机时间/数据丢失最少。)。在操作结束时,我想要这个:
- Redis 主
B
+N
从 - 客户端应用程序查询和修改
B
我可以进行如下操作:
- 让哨兵开始监视
B
,命名masterB
- 让每个奴隶
A
成为B
从那里开始,我被卡住了,因为客户端应用程序masterA
在与哨兵交谈时仍然要求。我有两个问题:
- 有没有办法切换主人的名字,这样
B
就被称为masterA
哨兵,因此也被客户端应用程序所熟知? - 修改客户端应用程序代码以处理从旧主机到新主机的切换是否更好?