🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 基本架构 sentinel不是一个,可以有多个;哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是**哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。** Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。 它的主要功能有以下几点 * 监控:Sentinel不断的检查master和slave是否正常的运行。 * 通知:如果发现某个redis节点运行出现问题,可以通过API通知系统管理员和其他的应用程序。 * 自动故障转移:能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。 * 配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。 ![](https://img.kancloud.cn/f2/48/f248b0ff4cf1f4470763997b1ebc9ee5_2786x1800.png) ### 故障转移 实际上就是把手动故障转移变成一个自动发现,自动转移,自动修复的过程; ![](https://img.kancloud.cn/78/d3/78d3510d2f174be8cc71de9c03091bca_3086x1620.png) ![](https://img.kancloud.cn/c2/8a/c28ae45edad5150cb34991b16e666e47_2978x1674.png) ### 一套sentinel监控多套主从 ![](https://img.kancloud.cn/d4/6c/d46c4fc1445e0a203abef4bd7348df9f_3028x1652.png)