《架构之路Redis系列》Redis哨兵模式的搭建

一.哨兵模式

1.简介

Redis Sentinel是Redis官方提供的集群管理工具,可以部署在其他与redis集群可通讯的机器中监控redis集群。

2.特性

监控:能持续监控Redis的主从实例是否正常工作;

通知:当被监控的Redis实例出问题时,能通过API通知系统管理员或其他程序;

自动故障恢复:如果主实例无法正常工作,Sentinel将启动故障恢复机制把一个从实例提升为主实例,其他的从实例将会被重新配置到新的主实例,且应用程序会得到一个更换新地址的通知。

更多访问官方:https://redis.io/topics/sentinel

3.哨兵作用

(1).监控redis(master和slave)是否正常运行;

(2).当master运行出现状况,能够通知另外一个进程自动将slave切换成master。

4.应用场景

当使用redis做master-slave的高可用方案时,如果master宕机了,想自动进行主备切换,可以考虑使用哨兵模式。

二.实战演练

1.环境准备

(1).redis-3.2.9

(2).服务器三台(VMware下的unbutu)都装redis

Master:192.168.247.133

Slave1:192.168.247.134

Slave2:192.168.247.135

2.环境搭建

(1).按照《架构之路Redis系列》如何搭建Redis的主从复制文章,先配置好主从关系。

(2).配置哨兵文件sentinel.conf,分别修改下面几项,具体参数可以根据实际业务修改。

备注:我这里redis安装到/opt/redis-3.2.9/sentinel.conf

IP:Master:192.168.247.133

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster 192.168.247.133 6379 1

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster 1

IP:Slave1:192.168.247.134

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster2 192.168.247.133 6379 2

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster2 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster2 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster2 1

IP:Slave2:192.168.247.135

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster3 192.168.247.133 6379 1

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster3 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster3 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster3 1

(3).启动

分别用下面命令启动三台服务器

a.启动redis服务

$ ./redis-server ../redis.conf

b.启动哨兵服务

$ ./redis-sentinel ../sentinel.conf

(4).测试

a.主机未挂前截图

《架构之路Redis系列》Redis哨兵模式的搭建

《架构之路Redis系列》Redis哨兵模式的搭建

《架构之路Redis系列》Redis哨兵模式的搭建

b.主机挂了后截图

《架构之路Redis系列》Redis哨兵模式的搭建

《架构之路Redis系列》Redis哨兵模式的搭建

《架构之路Redis系列》Redis哨兵模式的搭建

三.总结

关于哨兵模式的介绍就写到这里,工作中redis的哨兵模式是经常会用到的,所以这块的配置希望读者能 有所掌握。

个人博客原文:https://www.xiangquba.cn/2017/07/26/redis-sentinel/

上一篇:[CareerCup] 11.5 Search Array with Empty Strings 搜索含有空字符串的数组


下一篇:《Excel 职场手册:260招菜鸟变达人》一第 20 招 怎样在单元格文字前加空白