Redis哨兵、复制、集群的设计原理,以及区别
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。 **复制(Replication):**则是负责让一个Redis服务器可以配备多个备份的服务器。 Redis正是利用这两个功能来保证Redis的高可用。 哨兵(sentinal) 哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预的问题。 1.Redis哨兵主要功能 **(1)集群监控:**负责监控Redis master和slave进程是否正常工作 **(2)消息通知:**如果某个Redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员 **(3)故障转移:**如果master node挂掉了,会自动转移到slave node上 **(4)配置中心:**如果故障转移发生了,通知client客户端新的master地址 2.Redis哨兵的高可用 原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。 哨兵机制建立了多个哨兵节点(进程),共同监控数据节点的运行状况。 同时哨兵节点之间也互相通信,交换对主从节点的监控状况。 每隔1秒每个哨兵会向整个集群:Master主服务器