Redis sentinel哨兵启动、切换过程简单分析

sentinel是Redis高可用Ha的重要组成部分,在传统Redis master/slave架构下,担任对主从复制的状态监控,并在主节点异常后自动将从节点提升为主节点对外提供服务。

下图展示了一个在哨兵sentinel集群中监控redis主从复制的一个例子,其中:

1. Sentinel集群包括三个sentinel节点sentinel1、sentinel2、seninel3,sentinel集群各节点之间互相监控哨兵运行状态。

2.Sentinel集群各节点分别与Redis主节点进行ping命令,以检查Redis主节点的运行状态。

3.假设Sentinel集群检测到Redis主节点Master宕机,在指定时间内未恢复,则Sentinel集群就会对Redis做故障转移操作。

3.1 首先,Sentinel集群从各slave节点中挑选一台优先级最高的slave节点提升为Master节点。

3.2,其次,新的Master节点向原Master的所有从节点发送slaveof命令,让它们作为新Master的slave节点,并将新的Master节点数据复制数据各个slave节点上,故障转移完成。

3.3 最后,Sentinel集群会继续监视老的Master节点,老的Master恢复上线后,Sentinel会将它设置为新Master的slave节点。

3.4 故障转移后的拓扑图如下所示,在图中,slave节点slave-1被选举成为新的Master的节点。

原文地址:https://www.cnblogs.com/ilifeilong/p/12632231.html

时间: 2024-10-09 18:08:03

Redis sentinel哨兵启动、切换过程简单分析的相关文章

Redis Sentinel(哨兵详解)

摘要:Redis Sentinel(哨兵):集群解决方案 官方文档(英文) http://redis.io/topics/sentinel .Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常. 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应

Redis的主从复制与Redis Sentinel哨兵机制

1    Redis的主从复制 1.1   什么是主从复制 持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,不过通过redis的主从复制机制就可以避免这种单点故障,如下图: 说明: n  主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务. n  主redis中的数据和从re

redis sentinel无法启动问题

redis sentinel 正常启动 ./redis-sentinel sentinel.conf 就可以启动, 但是如果linux 操作系统(比如阿里云os)不支持ipv6,就会导致sentinel 启动失败,报 Creating Server TCP listening socket *:26379: unable to bind socket 失败, 这时候必须修改sentinel.conf ECS Linux系统默认关闭了Ipv6的功能,所以 redis-sentinel 尝试在 ip

Redis sentinel 哨兵模式集群方案配置

第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即mast

Redis sentinel 哨兵监测

  Sentinel 进程是用于监控 redis 集群中 Master 主服务器工作的状态,在 Master 主服务器发生故障的时候,可以实现 Master 和 Slave 服务器的切换,保证系统的高可用,其已经被集成在 redis2.6+的版本中, Redis 的哨兵模式到了 2.8 版本之后就稳定了下来.一般在生产环境也建议使用 Redis 的 2.8 版本的以后版本.哨兵(Sentinel) 是一个分布式系统, 可以在一个架构中运行多个哨兵(sentinel) 进程,这些进程使用流言协议(

redis sentinel哨兵模式集群搭建教程

1.环境说明 我们将使用192.168.220.128.192.168.220.129.192.168.220.130三台机器搭建sentinel集群 当前我们已在192.168.220.128上按redis安装教程安装了redis,192.168.220.129和192.168.220.130两台上没有安装 2.配置并启动192.168.220.128上的sentinel 2.1修改conf/redis.conf,配置masterauth字段值 2.2修改conf/sentinel.conf,

redis sentinel哨兵的使用

哨兵模式是Redis集群管理的一种方式. 下面以Go语言为例介绍其使用方式. 使用举例 package main import ( "fmt" "strings" "github.com/garyburd/redigo/redis" "github.com/FZambia/sentinel" ) var RedisConnPool *redis.Pool func InitRedisSentinelConnPool() { r

redis高可用之redis sentinel(哨兵)的搭建以及应用

redis的sentinel可以监控redis一个和多个redis的主从复制架构. 主要实现的功能有: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常. 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知. 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会

Redis:Sentinel哨兵

redis的主从复制结构是典型的中心结构,既一个主机master多个从属slave,那么一旦中心主机宕机,从属要么就是报错要么就是提供过期数据:哨兵sentinel就是为了去中心化,开启sentinel模式后,中心主机宕机,所有的从机会重新投票选取一个从机变为主机,当前主机恢复则前主机自动变为当前主机的从机: 文档: https://redis.io/topics/sentinel-clients