网上看到相关文章,记录一下:
http://nginx.blog.51cto.com/491911/845494
http://blog.csdn.net/zuoanlove/article/details/8091798
http://bbs.csdn.net/topics/390250037
http://blog.sina.com.cn/s/blog_51cd5b6f01014r7p.html
文章下载:http://download.csdn.net/detail/5iasp/4959633
一些思路:from http://wuhan.edushi.com/bdt/detail/352821.shtml
首先说下部署方案:
在两台服务器上分别部署一套Redis,两台服务器共用一个浮动IP,两套Redis实例则做Master-Slave,始终由浮动IP指向服务器上的Redis实例做Master。使用HA软件来检测Redis实例的运行情况。
如果从机出现异常,则重启从机Redis实例;
当主机出现异常,则进行如下操作:
1) Slave主动断开与Master的连接(通过HA软件调用预置脚本实现),然后HA软件将浮动IP指向备机,进行主备机切换;
2) 切换后,HA软件尝试重启现备机的Redis实例,重启成功后将其配置为现主机Redis实例的Slave,然后开始主从复制。
断开与Master连接与重启实例的命令比较简单,就不在此贴出了。
这个方案可能会对业务造成短时影响(要看HA软件的效率),但是对客户端来讲主从切换是不感知的。
一些脚本
http://blog.163.com/typhoon_1986/blog/static/67887780201261032553113/
通过Keepalived实现Redis Failover自动故障切换功能
http://heylinux.com/archives/1942.html