Redis-Sentinel原理与实战

一、Sentinel总述

Sentinel中文为哨兵的意思,它是用来监控Redis主从节点的,当Redis的主节点Down的时候,Sentinel会通过选举投票机制,使对应的Slave节点接管,成为新的Redis Master。

我们使用Redis的客户端直接接入Sentinel,由Sentinel告诉我们使用哪个Redis节点作为主节点。

接入Sentinel的代码,只需要配置Sentinel的地址即可,Sentinel会告知客户端真正访问的Redis Master是那个节点。当Redis Master出现故障,发生FailOver,也就是主节点变为其他节点时,客户端代码因为在监听Sentinel的变化,会得到新的Redis Master的地址,从而客户端不需要人工干预,就完成了一次故障转移。

Sentinel的配置文件中,只需要配置Redis Master的地址就可以,因为Sentinel可以通过Redis Master自己获取到那些Slave节点的信息。

以下是Redis Sentinel部署的图示。

Redis-Sentinel原理与实战_第1张图片

二、登录到Redis

查看集群的复制信息:

info replication

测试故障转移:

debug sleep 100

三、Sentinel配置文件

监听的Redis的集群名字,主Redis的IP,端口,以及至少几个哨兵投票认为主节点Down了,就算是Down了。

sentinel monitor    

没达到票数,是主观Down,达到票数,就是客观Down。

sentinel monitor mymaster 192.168.253.128 6379 2

配置Sentinel连接Redis的密码。

sentinel auth-pass  

四、登录到Sentinel

查看汇总的信息:

info

查看Sentinel信息:

info sentinel

查看主节点信息:

sentinel masters

查看主节点信息:

sentinel master mymaster

查看从节点信息:

sentinel slaves mymaster

获得主节点IP:

sentinel get-master-addr-by-name mymaster

故障转移:

sentinel failover mymaster

你可能感兴趣的:(Redis)