「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」
哨兵模式
概述
主从切换技术的方法时:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费时费力,还会造成一段时间内服务不可以用。这不是推荐的方式,更多时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供了Sentine架构来解决这个问题
能够让后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程会独立运行。原理是哨兵通过发送命令,等待Redis服务器响应,从而监控多个Redis服务
这里的哨兵有两个作用
- 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务和从服务。
- 当哨兵检测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让他们切换主机。
然而一个哨兵进程对Redis服务进行监控,可能会出现问题,我们使用多个哨兵进行监控,多个哨兵之间还会相互监控,这就形成多哨兵模式。
哨兵模式配置
sentinel monitor myredis 127.0.0.1 6379 1
2.开启哨兵进程
3.测试,关闭master,查看哨兵进程反馈
此时80变成master
再次启动79发现被分配成从节点
优点:
1、哨兵集群,基于主从复制,所有的主从配置特点,它都有。
2、主从可以切换,故障可以转移,系统的可用性就会更好
3、哨兵模式就是主从模式的升级,手动到自动,更加健壮
缺点:
1、Redis不好在线扩容,集群容量一旦达到上限,在线扩容十分麻烦
2、实现哨兵模式的配置很麻烦,里面有很多需要配置的地方