15 reids哨兵机制

news2024/11/15 17:21:04

redis主机默认是10s发送一次心跳给从节点。
从节点默认1s去发送心跳给主节点。

1、原理

当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。

从节点的主要两个作用:

  1. 主节点的数据备份。
  2. 实现读写分离
2、部署架构

为了防止哨兵宕机,因此哨兵也是需要多台部署,不少于3台.
在这里插入图片描述
哨兵本身也是一台redis节点,只是充当监控的角色,不参与业务操作,不存储数据

3、哨兵实现原理

按照上图的部署架构,哨兵依赖于3个定时任务去实现监控和故障转移。
在这里插入图片描述
定时任务作用一

1.sentinel节点向主从节点发送一次info命令.就可以得到主从的拓扑结构。
//例如有新的从节点加入,执行slaveof命令后,哨兵会再下一次info命令后感知到新的拓扑结构。
2.同理,主机或者某一个从节点宕机,那么哨兵再次执行info命令的时候,会感知到新的哨兵结构,做出对应的操作.

定时任务作用二
每隔2s的一次publish/subscribe

1. 哨兵1,23会向redis中的数据节点发送发布订阅命令。
2. 目的是为了感知新加入的哨兵节点,以及在哨兵之间交互主节点的状态。

定时任务作用三
每隔1s发送一次ping

1.例如,哨兵3每隔1s向哨兵1,2,主节点,从节点发送一次ping心跳。
//首先是判断各个节点是否存活

由此可以看出,哨兵还是挺忙的,忙着故障的恢复和转移
哨兵与主从的通讯
在这里插入图片描述

4、主管下载,客观下线,领导者选举

在这里插入图片描述
达到客观下线的条件后,开启领导者哨兵选举
在这里插入图片描述
谁先发现下线,谁就是哨兵的领导者

5、故障转移

在这里插入图片描述

1. 哨兵从从节点列表中,选择一台从节点。
2. 过滤掉不监控的从节点,一般是5s内没有回复pong的。
3. 如果两个从节点都是健康的,则选择那个优先级高的。优先级是可以配置的
4. 如果以上不满足,则选择复制最完整的节点来充当主节点。
5. 如果还不满足,则选择runid最小的节点。runid最小表示是最早启动的节点。

在这里插入图片描述
哨兵完成主从切换后,对于Java客户端来说,是无感知的,客户端如何操作呢?不可能去修改配置文件的。
通过JedisSentinelPool实现在客户端的主从切换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——使用kill结束进程并恢复进程

目录 查看进程结束进程修复进程 查看进程 在linux中,关闭某进程之前先查看已经在运行的进程有哪些,使用下面命令查看: ps aux | grep -i apt 命令查看哪个进程正在使用 apt结束进程 结束某线程的命令为: sudo kill -9 PID 命令…

Azure Machine Learning - Azure可视化图像分类操作实战

目录 一、数据准备二、创建自定义视觉资源三、创建新项目四、选择训练图像五、上传和标记图像六、训练分类器七、评估分类器概率阈值 八、管理训练迭代 在本文中,你将了解如何使用Azure可视化页面创建图像分类模型。 生成模型后,可以使用新图像测试该模型…

AT360-6T GNSS 单频高精度授时模块特性参数

AT360-6T 模块具有高灵敏度、低功耗、低cost等优势,可以满足电力授时,通信授时等领域的应用。AT360-6T特点: 1.支持北斗二代/北斗三代信号 2.高精度授时 3.可靠性授时 实时高精度授时 AT360-6T 系列模块的授时秒脉冲抖动可以达到 10ns&am…

2023快速成为接口测试高手:实用指南!

大量线上BUG表明,对接口进行测试可以有效提升产品质量,暴露手工测试时难以发现的问题,同时也能缩短测试周期,提升测试效率。但在实际执行过程中,接口测试被很多同学打上了“上手难,门槛高”的标签。 本文旨…

Vue服务端渲染——同构渲染

Vue.js 可以用于构建客户端应用程序,组件的代码在浏览器中运行,并输出 DOM 元素。同时,Vue.js 还可以在 Node.js 环境中运行,它可以将同样的组件渲染为字符串并发送给浏览器。这实际上描述了 Vue.js 的两种渲染方式,即…

AndroidStudio2022.3.1 Patch3使用国内下载源加速

记录一下这个版本的as在使用国内下载源加速碰到的诸多问题。 一、gradle-8.0-bin.zip下载慢 编辑项目文件夹/gradle/wrapper/gradle-wrapper.properties,文件内容改为如下: #Fri Nov 24 18:50:06 CST 2023 distributionBaseGRADLE_USER_HOME distribu…

汽车电子 -- 根据DBC解析CAN报文

采集的CAN报文,怎么通过DBC解析呢?有一下几种方法。 首先需要确认是CAN2.0 还是CAN FD报文。 还有是 实时解析 和 采集数据 进行解析。 一、CAN2.0报文实时解析: 1、CANTest工具 使用CAN分析仪 CANalyst-II,采集CAN报文。 使用…

嵌入式FPGA IP正在发现更广阔的用武之地

作者:郭道正, Achronix Semiconductor中国区总经理 在日前落幕的“中国集成电路设计业2023年会暨广州集成电路产业创新发展高峰论坛(ICCAD 2023)”上,Achronix的Speedcore™嵌入式FPGA硅知识产权(eFPGA IP&#xff09…

LabVIEW绘制带有多个不同标尺的波形图

LabVIEW绘制带有多个不同标尺的波形图 通过在同一波形图上使用多个轴,可以使用不同的标尺绘制数据。请按照以下步骤操作。 将波形图或图表控件放在前面板上。 1. 右键点击您要创建多个标尺的轴,然后选择复制标尺。例如,如果要为一个…

iview/view-design+vue2实现表单校验

1.iview/view-design介绍 iview是一款基于Vue.js的开源UI组件库,提供了丰富的组件和样式,支持响应式布局和多语言环境。它使用了最新的前端技术,如ES6、Webpack和SASS,让开发者可以快速构建高质量的Web应用程序。 View-design是一…

JavaScript字符串操作指南:跨行表示与模板字面量

背景: 在 JavaScript 中,如果一个字符串需要跨行表示,你可以使用多种方式来实现。 实现: 法一: 使用反斜杠(\)进行换行续行: let str "这是一个跨行的字符串,\ 我在这里使…

400G QSFP-DD DR4光模块最新产品案例应用解析

随着数据中心的快速发展,企业、供应商以及用户对更高、更快速的网络需求日益增长,易天推出的400G QSFP-DD DR4光模块方案可以更好的帮助用户解决这一系列问题,下面跟随小易一起来看看该产品具有哪些方面的特点和优势吧! 一、400G…

kafka精准一次、事务、幂等性

Kafka事务 消息中间件的消息保障的3个级别 At most once 至多一次。数据丢失。At last once 至少一次。数据冗余Exactly one 精准一次。好!!! 如何区分只要盯准提交位移、消费消息这两个动作的时机就可以了。 当:先消费消息、…

【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现省市地区三级联动地址选择器组件(上)

目录 概述 云数据库开发 一、创建云数据库的对象类型。 二、预置数据(为对象类型添加数据条目)。 三、部署云数据库 云函数实现业务逻辑 一、创建云函数 二、云函数目录讲解 三、创建resources目录 四、获取云端凭据 五、导出之前创建的元数据…

java.lang.ArrayIndexOutOfBoundsException: (数组越界异常)

java.lang.ArrayIndexOutOfBoundsException: (数组越界异常) 如何解决数组越界异常?1.1条件判断1.2循环结构1.3 try-catch(异常捕获)避免数组越界异常的方法:数组越界异常的调试和排查技巧: 当我…

报错AttributeError: module ‘cv2‘ has no attribute ‘ximgproc‘

报错AttributeError: module ‘cv2’ has no attribute ‘ximgproc’ 首先查看是否安装opencv-contrib-python pip list | grep opencv显示 opencv-contrib-python 4.4.0.46 opencv-python 4.8.1.78 opencv-pyt…

Keil5MDK创建C51工程

Keil5MDK创建C51工程 1.概述 上篇文章介绍了安装Keil5MDK和C51工具,这篇文章介绍工具的使用,首先介绍如何创建一个51单片机工程,写一个demo程序通过编译,烧录到单片机。 第一篇安装工具文章地址:https://blog.csdn.ne…

Maven镜像仓库问题

1.pom文件远程仓库地址 <!--使用aliyun的Maven镜像源提升下载速度--><repositories><repository><id>aliyunmaven</id><name>aliyun</name><url>https://maven.aliyun.com/repository/public</url></repository>&…

Crypto(10)BUUCTF-RSA3(共模攻击)

一.共模攻击的现实意义 好奇一个问题&#xff0c;即共模攻击有什么现实意义&#xff1f; 发现也没有什么现实意义&#xff0c;因为&#xff08;n,e&#xff09;是已知的&#xff0c;通常每个用户的n是不同的&#xff0c;除非特殊情况吧 二.共模攻击的数学原理&#xff1a; 通…

去水印网站哪个好?试试这个去水印软件!

在工作中&#xff0c;我们都曾遇到过图片水印的困扰。在众多的在线水印去除工具中&#xff0c;虽然选择看似丰富&#xff0c;但往往很难找到完全满足我们需求的那一个。有些工具操作过程繁复&#xff0c;有些工具在处理复杂水印时力不从心&#xff0c;还有些工具在去水印的过程…