什么是Sentinel哨兵监控
前面搭建了主从复制,也了解到当主服务器宕机后,需要手动的把一台从服务器切换成主服务器。是不是感觉很麻烦?没错这样的话不仅费人工,还会造成一段时间内服务不可用,这显然是不可行的。所有,Redis就有了哨兵模式。Redis提供了哨兵命令,它是一个独立的进程哨兵通过发送命令给多个节点,并让Redis的服务器响应,从而来监控Redis实例的运行情况。当哨兵检查到主节点宕机了,会自动将从节点切换成主节点,并通知其他的从服务器修改配置文件切换主机。
Sentinel有三大任务
任务一:监控,Sentinel不会断地检查你的主服务器和从服务器是否工作正常。
任务二:提醒,当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他的应用程序来发送通知,提醒发现故障了。
任务三:自动故障转移,上面我们提到需要人工进行故障转移,而使用Sentinel就可以实现自动转移了。当一个主服务器不能正常工作的时候,Sentinel会开始自动故障转移操作,它会将故障的主服务器下的其中一个从服务器升级成主服务器,并让这个故障的主服务器下的所有从服务器改为复制新的主服务器。当客户端连接失败主服务器时,也会向客户端返回一个新的服务器地址,使得可以使用新的服务器地址来代连接失败的主服务器。
思考一下,这样是否会出现问题呢?一个哨兵进程对Redis服务器进行监控,如果因为网络问题呢,哨兵得不到服务器的响应了,这时你就会想那设置多个哨兵同时进行监控不就好了。但是多个哨兵监控的话,会形成多哨兵模式,接下来讲解一下多哨兵模式。