一、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

查看集群的复制信息:

info replication

测试故障转移:

debug sleep 100

三、Sentinel配置文件

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

sentinel monitor <master-name> <ip> <port> <quorum>

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

sentinel monitor mymaster 192.168.253.128 6379 2

配置Sentinel连接Redis的密码。

sentinel auth-pass <master-name> <password>

四、登录到Sentinel

查看汇总的信息:

info

查看Sentinel信息:

info sentinel

查看主节点信息:

sentinel masters

查看主节点信息:

sentinel master mymaster

查看从节点信息:

sentinel slaves mymaster

获得主节点IP:

sentinel get-master-addr-by-name mymaster

故障转移:

sentinel failover mymaster
GitHub 加速计划 / sentine / Sentinel
22.24 K
7.98 K
下载
alibaba/Sentinel: Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量控制、熔断降级组件,提供实时监控、限流、降级和系统保护功能,适用于微服务治理场景。
最近提交(Master分支:2 个月前 )
195150bc * fix issue 2485 which occur oom when using async servlet request. * optimize imports * 1. fix the same issue in the webmvc-v6x 2. improve based on review comments 2 个月前
b78b09d3 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐