Redis主备自动切换高可用方案
背景
某个客户购买了我们产品,需要到客户机房搭建高可用的redis,而且要求出现故障能够自动切换主备。考虑到节省机器,而且redis中数据也不会超过1G,决定用主从架构+keepalived实现。
搭建
所需资源
- 2台主机
- 1个vip
redis主从搭建
- 2台主机分别安装reids,并设置为开机自启动
- 修改redis.conf,设置主从
设置keepalived
- 2台主机分别安装keepalived,并设置为开机自启动
- 编写监听redis的脚本、修改master状态的脚本、修改slave状态的脚本
- 修改keepalived.conf,设置vip、各脚本
验证
- 先查看2台redis(A、B)的角色
- 手动将master(A)的redis关闭,然后查看slave(B)的角色是不是切换为master
- 在新的master(B)中设置一个值,比如hello
- 重新启动A,查看A的角色是否为slave,并验证A中是否将hello同步过来