通常我们配置完成主从服务器后,要配置哨兵来预防主机宕机出现的灾难。
当主服务器宕机后,并且我们并没有及时发现,这时候就可能会出现数据丢失或者陈谷无法运行,此时,Redis的哨兵模式就派上用场了,可以用它来做redis的高可用。
PS:每个哨兵都是监控主几点,主节点会宕机,哨兵永不宕机!
功能与作用:
1.监控(monitoring):Sentinel会不断的检测你的主服务器和从服务器是否正常运作,检测方式,哨兵发送:ping, 服务器响应:pang,即乒乓机制
2.提醒(Notifation):当被监控的某个Redis服务器出现问题是,Sentinel可以通过API想管理员或者其他应用程序发送通知。
3.自动故障转移(Automatic failover):即紧急避险。当一个主服务器不能正常工作时,Sentinel会开启一次自动故障迁移操作,即:挑选一个从服务器升级为新的主服务器,其他的从服务器变成新的主服务器的从服务器;当客户端试图连接旧服务器时,集群也会想客户端返回新主服务器的地址,使得集群可以使用新主服务器代替旧服务器。
配置步骤:
1.创建哨兵配置文件:vim sentinel.conf
添加内容:sentinel monitor myredis 127.0.0.1 6379 1
PS:数字1表示有1个sentinel 人为一个master失效时,master就算真正失效,slave会以投票方式选举新主机。
2.启动哨兵
./redis-sentinel sentinel.conf
3.如果Master节点断开了(主机宕机了),过一会,会发送哨兵日志,并自动通过算法在其他从机中选择一个成为主机。
哨兵模式的优点与缺点
优点:
1.哨兵集群模式是机遇从模式的,所有主从的优点,哨兵模式同样具有。
2.主从可以切换,故障可以转移而,系统可用性更好。
3.哨兵模式是主从模式的升级,系统更健壮,可用性更好。
缺点:
1.redis较难支持在线扩容,在集群容量达到上显示在线扩容会边等很复杂。
2.实现哨兵模式的配置也不简单,甚至可以说是有些繁琐