基于Sentinel(哨兵)搭建实现Redis高可用集群

2019年3月12日23:08:23 发表评论 35 阅读

概述

Redis哨兵为Redis提供了高可用性。实际上这意味着你可以使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。

哨兵模式还提供了其他的附加功能,如监控,通知,为客户端提供配置。

下面是在宏观层面上哨兵模式的功能列表:

监控:哨兵不断的检查master和slave是否正常的运行。
通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。
自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。
配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。

哨兵的分布式特性
Redis哨兵是一个分布式系统:

哨兵自身被设计成和多个哨兵进程一起合作运行。有多个哨兵进程合作的好处有:

当多个哨兵对一个master不再可用达成一致时执行故障检测。这会降低错误判断的概率。
即使在不是所有的哨兵都工作时哨兵也会工作,使系统健壮的抵抗故障。毕竟在故障系统里单点故障没有什么意义。
Redis的哨兵、Redis实例(master和slave)、和客户端是一个有特种功能的大型分布式系统。在这个文档里将逐步从为了理解哨兵基本性质需要的基础信息,到为了理解怎样正确的使用哨兵工作的更复杂的信息(这是可选的)进行介绍。
1、机器规划
集群架构图如下:

基于Sentinel(哨兵)搭建实现Redis高可用集群

2、集群配置

2.1 、redis.conf配置

Master(192.168.50.100)机器配置如下:

Slave(192.168.50.101-103)机器配置如下:

  • 微信号:sqymail
  • 微信扫一扫欢迎加我为好
  • weinxin
  • 交流QQ群号:248249544
  • IntelliJ IDEA,Java 技术交流
  • weinxin
  • A+
所属分类:java

发表评论

您必须登录才能发表评论!