【Redis】redis cluster模式实现双机房容灾切换

【Redis】shell脚本实现redis双机房容灾切换(主从模式) rdis的双机房 阅读详情

Redis的cluster集群模式能够自动实现主从之间的自由切换,所以在单个机房中Redis cluster集群中,当Master宕机后,Slave会被其他Master投票选举为新的Master,从而实现故障切换。今天我们要探讨的问题是相距两地的机房中怎么实现Redis cluster集群模式的容灾切换。


一、redis的集群搭建

测试集群一

Master Slave
172.18.40.129:6379 172.18.40.129:6380、172.18.40.176:6380
172.18.40.130:6379 172.18.40.130:6380、172.18.40.176:6381
172.18.40.104:6379 172.18.40.104:6380、172.18.40.176:6379

集群架构图
在这里插入图片描述
集群状态
在这里插入图片描述

测试集群二

部分测试不方便用测试集群一实现,当测试集群一测试完毕后卸载了测试集群一,重新用两台服务器搭建了测试集群二,集群搭建思路没有改变。
Master Slave
172.18.40.130:6379 172.18.40.130:6382、172.18.40.176:6379
172.18.40.130:6380 172.18.40.130:6383、172.18.40.176:6380
172.18.40.130:6381 172.18.40.130:6384、172.18.40.176:6381

集群架构图
在这里插入图片描述
集群状态
在这里插入图片描述


二、redis cluster相关知识

1、Slave的选举与提升

当slaves节点进行选举时,会在其他masters的帮助下进行投票,选举出一个slave并提升为master。当master处于FAIL状态时,将会触发slave的选举。slaves都希望将自己提升为master, 此master的所有slaves都可以开启选举,不过最终只有一个slave获胜。具体的选举与提升流程如下:
① 满足如下情况slave即可进行选举:a.当此slave的master处于FAIL状态;b.此master持有非零个slots;c、此slave的replication链接与master断开时间没有超过设定值,为了确保此被提升的slave的数据是新鲜的,这个时间用户可以配置。
②slave自增它的currentEpoch值,然后向其他masters请求投票(需求支持,votes)。slave通过向其他masters传播“FAILOVER_AUTH_REQUEST”数据包,然后最长等待2倍的NODE_TIMEOUT时间,来接收反馈。(在集群node创建时,master和slave都会将各自的currentEpoch设置为0,每次从其他node接收到数据包时,如果发现发送者的epoch值比自己的大,那么当前node将自己的currentEpoch设置为发送者的epoch,最终所有的nodes都会认同集群中最大的epoch值;当集群的状态变更,或者node为了执行某个行为需求agreement时,都将需要epoch(传递或者比较)。)
③一旦一个master向此slave投票,将会响应“FAILOVER_AUTH_ACK”,此后在2 * NODE_TIMOUT时间内,它将不会向同一个master的slaves投票;虽然这对保证安全上没有必要,但是对避免多个slaves同时选举时有帮助的。slave将会丢弃那些epoch值小于自己的
redis同城双机房容灾 (在集群node创建时,master和slave都会将各自的currentEpoch设置为0,每次从其他node接收到数据包时,如果发现发送者的epoch值比自己的大,那么当前node将自己的currentEpoch设置为发送者的epoch,最终所有的nodes都会认同集群中最大的epoch值;当该slave节点执行 cluster failover命令时,(将切换为新master节点)处理完来自master的所有复制,客户端的访问将会自动由原master节点切换至新master节点。 阅读详情

相关推荐

Redis同城双机房容灾实战:从配置到自动切换的完整避坑指南

本文提供了一份Redis同城双机房容灾的实战指南,详细解析了架构选型、集群配置与自动切换的核心步骤。文章重点剖析了Redis Cluster模式在机房级故障下的脑裂风险,并给出了主节点跨机房打散部署、精细化参数配置以及基于`cluster failover takeover`命令的强制切换方案,旨在帮助企业构建高可用的数据服务,实现快速故障恢复。

3c4x5z6v7b的博客 105

智能问答系统容灾设计:AI架构师的异地多活与备份实践!

异地多活能解决「服务可用性」问题,但无法解决「数据损坏」问题(如误删除、勒索病毒)。备份是防止数据丢失的最后一道防线。组件化拆分:将系统拆分为独立组件,每个组件都具备冗余能力;分布式存储:用Redis Cluster、Milvus等分布式存储同步状态和数据;异地多活:所有节点同时提供服务,故障时自动切换;备份兜底:遵循3-2-1原则,定期测试恢复流程;监控报警:实时监控系统状态,提前预警故障。最后:容灾设计不是「一蹴而就」的,而是「持续迭代」的过程。

SuperAGI2025 965

【信息科学与工程学】【数据中心】【智算中心】【容灾备份】 第二十五篇 智算中心业务容灾-第一部分

设计原则具体实施关键技术监控指标恢复策略测试验证冗余设计​1. 多副本数据存储2. 多路径网络连接3. 多活计算资源4. 多实例服务部署1. 数据复制技术2. 负载均衡技术3. 集群管理技术4. 容器编排技术1. 副本健康状态2. 路径可用性3. 资源利用率4. 服务实例状态1. 自动故障转移2. 数据一致性修复3. 资源重新调度4. 服务重新注册1. 故障注入测试2. 切换演练3. 性能压测4. 数据一致性验证自动化恢复​。

weixin_49199313的博客 1277

ArcMap投影变换避坑指南:为什么你的坐标转换总出错?常见问题解析与解决方案

本文深入解析ArcMap中坐标转换与投影变换的核心区别与常见陷阱。针对坐标转换总出错的问题,从混淆“定义投影”与“投影变换”、栅格数据重采样选择、矢量数据地理变换参数设置等关键环节,提供清晰的避坑指南与实战解决方案,帮助用户确保空间数据的精确匹配。

weixin_29210727的博客 356

手把手推导APM的 sqrt_controller控制器

前言 玩过无人机的朋友对APM应该都不会陌生,如果是搞过多旋翼飞控且读过代码,肯定遇到过sqrt_controller控制器,它频繁的在位置、姿态控制中出现,所以非常有必要搞清楚这个控制原理。 下面以高度控制器为例来分析。 高度控制 APM的高度控制采用PID串级3环控制,即外环位置控制,中间速度控制,内环速度控制,如下图所示。 今天要讨论的sqrt_controller就是应用于位置控制器中。位置控制器的输出是速度控制器的参考reference输入,如果采用单P控制,其输出vel_ref = pos_e

周小逗的博客 3031

光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真

在过去几年里,许多集成光子学应用往往需要多个相干可调谐光源,而且从外部激光器引入额外的光输入增加了芯片封装的复杂性,如果使用基于III-V族、氮化硅(SiN)或铌酸锂(LNO)的集成光源又大大增加了制造复杂性和成本。然而,通过非线性谐波相互作用产生的光源不需要额外的制造工艺来产生增益、反馈和外部电路,即可支持许多应用。在下面的案例中,演示了一种基于Luo[1]的铌酸锂波导频率转换集成系统。该案例主要仿真了利用温度调制实现高效相位匹配的铌酸锂纳米光子波导的二次谐波产生。

q895235273的博客 4145

统信UOS服务器上,达梦DM8数据库安装避坑全记录(附大小写敏感设置)

本文详细介绍了在统信UOS服务器版上部署达梦DM8数据库的全过程,包括环境准备、安装流程、数据库实例初始化及关键参数配置,特别是大小写敏感设置的注意事项。提供了从系统配置到性能优化的完整指南,帮助用户避免常见问题,确保数据库稳定运行。

weixin_30647423的博客 332

Jetson Orin边缘语音AI实战:用Riva ASR/TTS + Llama 2打造离线智能语音助手

本文详细介绍了如何利用NVIDIA Jetson Orin的边缘计算能力,结合Riva ASR/TTS语音引擎和Llama 2大语言模型,构建完全离线的智能语音助手。通过硬件优化、量化部署和性能调优,实现在网络不稳定环境下的高效语音交互,适用于智能家居、车载系统等场景。

weixin_29053383的博客 242

物联网系列③——基于ESP8266与点灯科技平台的温湿度计设计(接入小爱同学)

物联网系列③——基于ESP8266与点灯科技平台的温湿度计设计(接入小爱同学)一、设计目标二、电路展示三、存在的问题四、代码五、需要注意的问题 一、设计目标       前一阵子偶然接触到点灯科技平台,产生了制作一块ESP8266电路板,拥有以下功能: 使用CH340对ESP8266进行程序下载 使用DHT11进行温湿度数据读取 使用点灯科技平台接入物联网,可通过手机APP获得室内温湿度 接入小爱同学,通过语音获取室内温湿度信息 Mico US

weixin_43278295的博客 8853

YOLO小目标检测优化:9种实用方案,准确率直接提升15%

小目标检测是个系统工程,没有银弹,但有明确的优化路径。优先搞数据。Copy-Paste + 提升分辨率,这俩加起来成本最低、收益最大,能解决80%的小目标问题。别一上来就改模型结构。调参走在改结构前面。锚框聚类、损失加权、增强优化,这些都是零成本的,先做满了再说改模型的事。P2层是大杀器,但不要轻易用。加了P2层,TensorRT部署、后处理、速度都要跟着调,工程化工作量翻倍。数据和训练做到位还不够,再加也不迟。滑动窗口是兜底的。能从训练端解决的问题,就不要拖到推理端。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 187

从零开始学习PX4源码23(飞行模式管理)

本文摘要主要介绍了PX4飞控系统中飞行模式管理模块的代码实现流程。文章从整体架构入手,分析了飞行模式管理模块的启动过程、类继承关系以及核心运行机制。重点阐述了模块从rc.mc_apps启动脚本到FlightModeManager::main()的调用链路,包括任务创建、工作队列初始化和主循环执行流程。核心部分解释了Run()函数如何通过订阅传感器数据、更新参数、处理命令以及生成轨迹设定点来实现飞行模式切换和任务管理功能。文章为理解PX4飞行控制系统的模式切换机制提供了代码层面的详细分析。

陌城烟雨 499

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 【Redis】shell脚本实现redis双机房容灾切换(主从模式)
下一篇: 【Fastdfs】Fastdfs实现双机房容灾切换
羽裳醉月
博客等级 码龄7年 18粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值