首先说下部署方案:在两台服务器上分别部署一套Redis,两台服务器共用一个浮动IP,两套Redis实例则做Master-Slave,始终由浮动IP指向服务器上的Redis实例做Master。使用HA软件来检测Redis实例的运行情况。
如果从机出现异常,则重启从机Redis实例;
当主机出现异常,则进行如下操作:
1) Slave主动断开与Master的连接(通过HA软件调用预置脚本实现),然后HA软件将浮动IP指向备机,进行主备机切换;
2) 切换后,HA软件尝试重启现备机的Redis实例,重启成功后将其配置为现主机Redis实例的Slave,然后开始主从复制。
断开与Master连接与重启实例的命令比较简单,就不在此贴出了。
这个方案可能会对业务造成短时影响(要看HA软件的效率),但是对客户端来讲主从切换是不感知的。
~如果你认可我的回答,请及时点击【采纳为满意回答】按钮
~~手机提问的朋友在客户端右上角评价点【满意】即可。