Redis-Sentinel原理与实战
Sentinel
alibaba/Sentinel: Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量控制、熔断降级组件,提供实时监控、限流、降级和系统保护功能,适用于微服务治理场景。
项目地址:https://gitcode.com/gh_mirrors/sentine/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
查看集群的复制信息:
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 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)