Redis的高可用方案的实现:主从切换以及虚拟IP或客户端redis
从Redis 2.8开始加入对Sentinel机制从而实现了服务器端的主从切换,但目前还没有发现实现虚拟IP或客户端切换方案服务器
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案进程
当用Redis作Master-slave的高可用方案时,假如master宕机了,Redis自己(包括它的不少客户端)都没有实现自动进行主备切换,ast
而Redis-sentinel自己也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。集群
功能:监控
监控redis是否按照预期良好地运行;服务器端
若是发现某个redis节点运行出现情况,可以通知另一个进程;redis集群
可以进行自动切换。当一个master节点不可用时,可以选举出master的多个slave(若是有超过一个slave的话)中的一个来做为新的master,其它的slave节点会将它所追随的master的地址改成被提高为master的slave的新地址高可用
只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后整个集群系统将没法按照预期的方式运行。因此有必要将sentinel集群客户端
好处:
解决单点问题;
有多个sentinel,redis的客户端能够随意地链接任意一个sentinel来得到关于redis集群中的信息