Redis集群(一)主从模式之哨兵机制
如果master断开连接,则其slaves都会断开与master的连接,而缺少了master,这是就需要手动指定其他某个端口作为master,并设置其余的slaves指向这个master(*[手动设置的方法很简单,点击参考主从复制创建方式][Link 1]*)。很是麻烦,哨兵机制很好地解决了这个问题。
高可用Sentinel
1、官方提供的高可用方案,可以用它管理多个Redis服务实例
2、编译后产生redis-sentinel 程序文件
3、Redis Sentinel 是一个分布式系统,可以在一个架构中运行多个Sentinel进程
启动Sentinel
- ①将src目录下的产生redis-sentinel程序文件复制到$REDIS_HOME/bin ②启动一个运行在Sentinel模式下的Redis服务实例 redis-sentinel
- 或:redis-server /path/to/sentinel.conf —sentinel
Redis Sentinel 是一个分布式系统,可以在一个架构中运行多个Sentinel进程。Sentinel会不断检查Master和Slaves是否正常,并且每一个Sentinel可以监控任意多个Master和该Master下的Slaves
使用一个Sentinel监控多个Master及其下的Slaves,如果这个Sentinel出现故障,监控效果也会一同丧失。所以使用分布式设计搭建一个Sentinel网络系统,就解决了这个问题。
Sentinel网络
监控同一个Master的Sentinel会自动连接,组成一个分布式的Sentinel网络,**互相通信并交换彼此关于监视服务器的信息**
当一个Sentinel认为被监视的服务器已经下线时,他会向网络中的其他Sentinel进行确认,判断该服务器是否真的已经下线;如果下线的服务器为主服务器,那么Sentinel网络将对下线的主服务器进行自动故障转移,通过将下线主服务器的某个从服务器提升为新的主服务器,并让其从服务器为复制新的主服务器,以此来让系统重新回到上线状态。如果之前的主服务器又重新上线,则哨兵会设置其作为新的master的一个slave
Sentinel配置文件
至少包含一个监控配置选项,用于指定被监控master的相关信息
还没有评论,来说两句吧...