内存 指令集 晶体管 运算器 缓存 集成电路
主页 正文

Redis哨兵模式实现自动故障转移教程

Redis哨兵(Sentinel)模式

主从切换技术的方法是:当主服务器宕机后,需要手动将一台从服务器切换为主服务器,需要人工干预,费时费力,而且还会影响主从服务器的正常运行。
导致服务在一段时间内不可用。
这不是推荐的方法,更多时候我们优先考虑哨兵模式。

哨兵模式是一种特殊的模式。
首先,Redis提供了哨兵命令。
Sentinel 是一个独立的进程。
作为一个进程,它将独立运行。
其原理是哨兵通过发送命令并等待Redis服务器响应来监控多个正在运行的Redis实例。

这里的哨兵有两个作用

但是哨兵进程监控Redis服务器的时候可能会出现问题。
为此,我们可以使用多个A哨兵监视器。
每个哨兵也会受到监控,从而形成多哨兵模式。

用文字描述故障转移过程。
假设主服务器宕机了,Sentinel 1首先检测到这个结果。
系统不会立即执行故障转移过程。
只是Sentinel 1主观上认为主服务器不可用。
这种现象就变成了主观下线。
当后续的哨兵也检测到主服务器不可用并且数量达到一定值时,哨兵之间就会进行投票。
投票结果将由一名哨兵发起执行故障转移操作。
切换成功后,每个哨兵都会采用发布订阅模式将其监控的从服务器切换到主机上。
这个过程称为客观离线。
这样一切对客户来说都是透明的。

配置3个哨兵和一个1主2从的Redis服务器来演示这个过程。

首先配置Redis的主从服务器,修改redis.conf文件如下

以上主要是配置Redis服务器。
从服务器比主服务器多了一份slaveof配置和密码。

配置3个哨兵,每个哨兵的配置相同。
Redis安装目录下有一个sentinel.conf文件。
复制一份并修改

上面关闭了保护模式,方便测试。

完成以上修改后,我们就可以进入Redis安装目录的src目录,通过以下命令启动server和sentinel了

注意启动顺序。
首先启动主机(192.168.11.128)的Redis服务进程,然后启动从机的服务进程,最后启动三个哨兵服务进程。

上面是通过Jedis使用的,也可以使用Spring来配置RedisTemplate。

sentineldown-after-milliseconds 配置项只是一个哨兵,在超过指定时间没有收到响应后会认为主机不可用。
对于其他哨兵来说并非如此。
Sentinel 将记录此消息。
当主观下线的sentinel数量达到sentinelmonitor配置的数量时,就会发起故障切换投票。
这时,Sentinel就会重写Redis的Sentinel配置文件,以适应新场景的需要。

java 开发框架 Redis 之 sentinel 和集群

Redis的高可用解决方案是Sentinel(哨兵模式)。
搭建主从Redis复制方案后,如果主服务器出现故障,需要手动将从服务器切换到新的主服务器,既耗时又不方便。
哨兵模式出现了,其目的是在主服务器出现故障后,自动将从服务器更新为主服务器,以避免人工干预。
介绍哨兵模式。
Sentinel 模式是一种正式的高可用性解决方案,通过发送命令来检查正在运行的 Redis 实例的运行状态。
Sentinel模式还采用分布式架构,支持多个哨兵进程协同工作,实现哨兵的高可用性。
Sentinel 工作流程:通过向主服务器和从服务器发送 ping 命令来监视运行状态。
当检测到主服务器故障时,Sentinel会自动将从服务器升级为主服务器,并通过发布-订阅模式通知其他从服务器更改配置,实现数据同步。
Sentinel定时任务:Sentinel每秒进行一次心跳检测,每10秒收集一次信息,每2秒进行一次通信,保证所有sentinel和Redis节点的实时状态。
Sentinel网络:Sentinel是一个分布式系统。
多个哨兵进程自动连接形成分布式哨兵网络,相互通信并交换受监控服务器信息。
Sentinel 网络故障排除原理: 1. 主观离线模式:如果主服务器发生故障,Sentinel 会确认并不会立即执行故障转移。
2. 离线对象:当多个哨兵确认错误时,其中一个哨兵发起投票。
一旦达到一定数量的哨兵确认,主服务器将被标记为客观宕机。
3.哨兵选举:选择一个领导者,哨兵进行故障转移。
4. 选择主服务器。
紧急处理过程中切换时,选择优先级高、数据同步量大的从服务器作为新的主服务器。
5、新的主服务器通过发布-订阅模型通知所有哨兵更新监控信息。
故障发生和消除的过程。
一旦Sentinel检测到故障,它就会执行自动切换过程。
一旦故障解决,主服务器自动成为从服务器。
Sentinel模式配置在一台机器上实现Sentinel模式,包括在不同端口创建Redis实例、设置主从复制、创建Sentinel集群、创建Sentinel配置文件、运行Sentinel以及测试等。
集群哨兵模式解决了主服务器故障后自动故障转移的问题,但不支持动态扩展。
随着Redis3.0的推出,引入了集群模式。
集群设计。
该簇具有无中心结构。
每个节点负责存储数据和管理集群的状态,节点之间相互连接。
集群特点: 节点分配和数据分布:预装16384个分片,采用哈希槽算法均匀分布数据。
当添加新节点时,一些哈希槽会从其他节点分配给新节点。
主从集群模式:集群采用主从架构构建。
每个主节点对应一个从节点。
主节点提供数据存储,从节点提供数据可读性,保证集群的高可用性。
搭建集群:集群最少需要奇数个节点,采用6个节点,每个节点至少配置一个从节点。
实验在两台机器上进行,使用不同端口启动6个Redis实例。
创建集群。
使用自定义脚本创建集群并配置主从关系,保证数据分布均衡。
即使一台计算机出现故障,集群仍然能够提供 услуги.

【redis】redis 手动切换主从

在redo节点上: $redis-cli -h xx.xx.xx.xx -p XX -a 'XX' Shutdown 不要直接关闭redo进程。
该过程完成后: $ systemctlstartredis-server 架构:3个服务器,1个master,2个slave和3个转发器。
Master(哨兵1):192.168.1.11 Slave(哨兵2):192.168.1.12 Slave(哨兵3):192.168.1.13 在线dismaster异常关闭并重启 所有从机,无法选择主机。
登录到192.168.1.11(master),关闭redis进程 $reds-cli -h 192.168.1.11 -p 6379 -a 'XX' 关闭到192.168.1.12(新master) $red login is-cli -h 192.168.1.12 -p 6379 -a 'XX' Slaveofnoone$redis-cli -h 192.168.1.12 -p 6379 -a 'XX' configset s lave-read-onlyno 登录 192.168.1.13 (slave) $reds-cli -h 192.168.1.12 -p 6379 -a 'XX' configset masterauth 'XXX'$re dis-cli -h 192.168.1.12 -p 6379 -a 'XX' 从机192.168.1.12 从机$ systemctlstartredis-server $redis-cli -h 192.168.1.12 -p 6379 -a 'XX' configset masterauth 'XXX' $redis-cli -h 192.168 .1.12 .1.12-p 6379-a 'XX'slave192.168.1.12 6379 redis 主从切换 https://www.it610.com/post/3522365.htmre dis 主从切换 SLAVEOF https://www.qiansw.com/slaveof-redis-master -slave.html 手动调节主从切换 https://www.jianshu.com/p/1e e8012b9b3bredis主从备份(手动切换) https://blog.51cto.com/u_15069442/3441150Redis主从切换 https://www.it610.com/post/3522365.htm

redis的哨兵模式第一次主从切换成功,再次进行主从切换就不

Redis的Failover命令提供了手动触发的主切换功能。
当您需要维护或升级主服务器时,这一点尤其重要。
通过执行failover命令可以实现主节点和节点的字符转换。
升级完成后,运行恢复任务将恢复原主节点的状态。
基本语法和命令使用示例 Redis 源码版本:6.2.5 主从基本切换的核心流程包括: 发出故障转移命令开始切换,然后定期检测节点的数据同步情况。
直到同步完成。
同步完成后,旧主节点与备用的新主节点握手,并发送PSYNCFAILOVER命令,实现未来节点向新主节点的角色转换。
在学习主倒换基本倒换之前,您应该熟悉主倒换基本倒换涉及的关键变量。
这些变量在具体场景的分析中发挥着重要作用。
故障命令的综合调用链处理、跨节点数据同步完成的检测以及调用链是基本转换过程的重要组成部分。
执行过程的基本切换称为重链分析,可以全面了解主切换的执行过程。
当新的主节点收到 PSyncFailover 指令并执行合法检查时,节点从主节点更改为主节点。
热门资讯
cpu的时钟频率怎么算
Redis架构与中间件功能解析
主频和混频器的工作原理区别
精简指令集的优缺点
CAN协议标准解析:ISO11898与ISO11519详解
压缩卷怎么分配给c盘(怎么分盘给c盘多弄点空间)
固态硬盘分区选MBR还是GUID
手机迅雷缓存文件在哪