Redis-哨兵机制Sentinel

redis的主从复制模式下,一旦主节点出现了故障无法提供服务了,需要人工进行主从切换,同时大量的客户端需要被通知切换到新的主节点上,对于有了一定规模的应用来说,这种方案的延迟是无法接受的,于是redis2.8提供了Redis-Sentinel(哨兵)来解决这个问题.


目录

1.啥是哨兵节点:

2.redis数据节点:

3.哨兵节点集合:

4.人工干预处理流程:

5.哨兵节点监控处理及流程:


1.啥是哨兵节点:

哨兵节点是一个独立的redis-sentinel进程,是负责监控redis数据节点的节点.

2.redis数据节点:

主节点和从节点共同成为数据节点.

3.哨兵节点集合:

若干个哨兵节点(redis-sentinel)共同构成的集合.

哨兵节点个数设置:

哨兵节点在使用的时候,可以有一个,也可以使用多个,但一般不会只使用一个,而是若干个哨兵节点构成的集合.共同监控一组数据节点:

1. 是为了防止一个哨兵节点因误判或偶然性的网络问题等做出错误的相应,当多个哨兵节点共同监控,当出现问题时,多个哨兵节点都反馈,提高正确性.

2. 哨兵节点本身也可能出现问题.若哨兵节点只有一个,当这个哨兵节点挂了,后续redis主节点挂了,就无法进行自动恢复过程了.

4.人工干预处理流程:

当主节点出现问题不能提供服务时,

1>.程序员通过监控系统,发现redis主节点故障宕机了.先尝试重启主节点,看能否解决问题,

2>.若主节点问题暂时找不到,就选择一个从节点作为新的主节点(slaveof no one命令),然后修改剩余从节点,连接到新的主节点上(slaveof ip port命令).

3>.告知客户端(修改客户端配置),让客户端能够连接新的主节点,挂到这组机器上.

后续若主节点能正常启动了,就让其作为新的从节点,连接到主节点上.

这一系列操作,对机器来说,延时性是非常高的,手动完成这一系列操作后,至少要半个小时以上,这个过程中,一直无法进行写操作,是无法接受的;

还有,万一在人工操作的过程中,出现了错误操作,可能带来更严重的问题,这都是不可预防的.

于是就更需要引入哨兵机制,通过自动化的方式,让程序对主节点挂了做出处理.

若是从节点挂了,影响不是很大,读写操作都还能正常进行;若是主节点挂了,redis哨兵节点就需要进行处理了.

5.哨兵节点监控处理及流程:

使用多个哨兵节点(计数个),通过建立tcp长连接(定期发送心跳包),一起监控redis数据节点(主,从节点).

1>.监控: 哨兵节点通过监控发现主节点出现问题时,不会立即做出处理,而是向其他哨兵节点确认,多数节点都发现该节点出现故障,就进行处理操作.

这步主要是防⽌该情况:出故障的不是主节点,⽽是发现故障的哨兵节点,该情况经常发⽣于哨兵节点的⽹络被孤⽴的场景下.

2>.监控到主节点出现故障后,从哨兵节点集群中选出一个leader来处理故障转移.

3>.故障转移: leader哨兵节点从 从节点中选出一个作为主节点,让其他从节点同步新主节点

4>.通知: 哨兵节点通知应⽤层客户端程序,让其转移到新主节点。后续客户端进行读写操作就会针对新的主节点操作了.

redis哨兵的核心功能:

1.监控;

2.自动故障转移

3.通知

哨兵节点的个数:

最好设置成计数个(3个刚好), 这和leader的选举有关和一些别的原因,后续会再细说.

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

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

相关文章

SQL 视图

SQL 视图 引言 SQL 视图是数据库管理系统中的一种重要概念,它允许用户以不同的方式查看数据库中的数据。本文将详细介绍 SQL 视图的概念、作用、创建方法以及在实际应用中的注意事项。 一、SQL 视图的概念 SQL 视图是数据库中的一种虚拟表,它并不存储实际的数据,而是基于…

ESP32-使用VSCODE 各种问题总结汇总

1 问题 1 1.1 具体问题描述-config:idf.customExtraPath 无法正确描述launch.json 中使用了一个变量: ${config:idf.customExtraPaths}但在 VSCode 的设置中,并没有找到对应的设置项 idf.customExtraPaths,所以无法解析。 1.2 问题解决 1.2.1…

【剪裁Patch】已标注的WSI剪裁Patch的处理流程(以QuPath软件得到的标注信息为例)

1. 整体处理思路 整体处理流程如图所示,概括来说就是:根据标注信息将WSI区分为肿瘤区域和正常区域,对这个区域进行采样裁剪得到具有Patch级别标签的Patch。 当然,这里的Patch标签是根据标注信息决定的,如果标注的是癌症亚型信息,那么也可以将不同亚型的Patch区分出来。 …

Qt 与Halcon联合开发九:算法类设计与实现讲解(附源码)

一、设计背景 在机器视觉系统中,算法是系统的核心。不同产品、不同项目对图像处理的要求不尽相同,因此算法需要具备: 灵活拓展:方便添加新算法统一调用:界面或上层逻辑不关心算法细节结构清晰:便于维护与…

npu-driver 23.0.3驱动安装

宿主机器上安装npu-driver/ npu-firmware这两个东西 wget -O Ascend-hdk-910b-npu-driver_23.0.3_linux-aarch64.run https://bj.bcebos.com/v1/aipe-easyedge-public/cann/eb_speed/Ascend-hdk-910b-npu-driver_23.0.3_linux-aarch64.run?authorizationbce-auth-v1%2F50c8bb…

LeetCode题解---<三数之和>

文章目录题目<三数之和>--Python解法题解题目<三数之和>–Python解法 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为…

探索Insplorion氢气传感器:高灵敏度与快速响应的创新解决方案

在追求更清洁、更安全能源的过程中&#xff0c;氢气作为一种理想的清洁能源载体&#xff0c;正日益受到全球的重视。然而&#xff0c;氢气的广泛应用也带来了新的挑战——如何确保其储存、运输和使用的安全性&#xff1f;Insplorion通过其独特的纳米等离子体传感&#xff08;NP…

【QT】事件(鼠标、按键、定时器、窗口)

文章目录1. 事件1.1 事件的介绍1.2 事件的处理2. 按键事件3. 鼠标事件4. 定时器5. 窗口事件1. 事件 1.1 事件的介绍 事件是应用程序内部或者外部产生的事情或者动作的统称。 在 Qt 中使用⼀个对象来表示⼀个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt …

STM32固件升级设计——串口IAP升级(基于YMODEM协议)

目录 一、功能描述 1、BootLoader部分&#xff1a; 2、APP部分&#xff1a; 二、BootLoader程序制作 1、分区定义 2、 主函数 3、YMODEM协议的实现 4、程序跳转 三、APP程序制作 四、工程配置&#xff08;默认KEIL5&#xff09; 五、运行测试 结束语 概述 IAP&…

Cookie(搭配domain)/Session(搭配HttpServletRequest+HttpSession)

各位看官&#xff0c;大家早安午安晚安呀~~~如果您觉得这篇文章对您有帮助的话欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦今天我们来学习&#xff1a;Cookie/Session1.Cookie/Session的简述我们在讲解HTTP协议的时候已经讲解过Cookie了HTTP 协议自身是…

240.搜索二维矩阵Ⅱ

纯暴力有点太唐了&#xff0c;不过竟然能过&#xff1b;还有行和列的表示我一直搞反了。。。class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int i 0 ;i<matrix.length;i){for(int j 0 ;j<matrix[0].length;j){if(matrix[i][j]target)…

【计算机组成原理】-CPU章节学习篇—笔记随笔

计算机组成原理 CPU 章节知识点总结&#xff08;适用于 408 考研&#xff09;​ 一、CPU 的功能与基本结构​ 1.1 CPU 的功能​ CPU&#xff08;中央处理器&#xff09;是计算机的核心部件&#xff0c;主要功能包括&#xff1a;​ 指令控制&#xff1a;程序的顺序执行&#xff…

公用测控装置的功能

公用测控装置在电力系统中广泛应用于变电站的高压开关单元、变压器本体及低压侧等对象。它集测量、控制、保护于一体&#xff0c;确保电网的安全、稳定运行。公用测控装置采用高性能硬件架构&#xff0c;如32位微控制器和独立AD采样技术&#xff0c;结合软件算法&#xff0c;实…

数据库|达梦DM数据库配置实例步骤

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 最近因为一个信创项目&#xff0c;要使用达梦DM数据库&#xff0c; 因此安装了达梦DM数据库来学习使用&#xff0c; 上一节中记录了安装Windows版本达梦DM数据库的过程步骤&#xff0c; 这一节紧接着上一节《数据库…

三十一、【高级特性篇】接口用例参数化与关联:实现上下文数据传递

三十一、【高级特性篇】接口用例参数化与关联:实现上下文数据传递 前言准备工作第一部分:后端数据模型调整1. 升级 `TestCase` 模型2. 生成并应用数据库迁移3. 更新 `TestCaseSerializer`第二部分:后端测试执行器强化1. 修改 `execute_api_test_case` 函数2. 修改 Celery 任…

PCA通过“找最大方差方向”实现降维,本质是用更少的变量捕捉原始数据的主要模式

什么事 PCA(主成分分析) PCA(主成分分析)的原理与通俗举例 PCA 是什么? PCA(Principal Component Analysis)是一种常用的降维算法,核心目标是将高维数据映射到低维空间,同时尽可能保留原始数据的关键信息(方差最大的方向)。 核心原理:找“最能代表数据的方向”…

JAVA synchronized关键字涉及的Monitor对象中 EntryList和WaitSet工作机制

在Java的synchronized同步机制中&#xff0c;Monitor对象的EntryList和WaitSet是两个关键队列&#xff0c;它们分别管理不同状态的线程。下面我将详细解释它们的工作原理&#xff0c;并提供代码示例说明。 EntryList&#xff08;锁竞争队列&#xff09; 作用机制 EntryList保…

js-day10

JS学习之旅-day101. 作用域1.1 局部作用域1.2 全局作用域1.3 作用域链1.4 JS垃圾回收机制&#xff08;GC&#xff09;1.5 闭包1.6 变量提升2. 函数进阶2.1 函数提升2.2 函数参数2.3 箭头函数3. 解构赋值3.1 数组解构3.2 对象解构4. 数组遍历4.1 forEach4.2 filter1. 作用域 作…

智能数字式毫秒计在实际生活场景中的应用

在电力领域&#xff0c;SYN5307型数字毫秒表可精准监测特高压变电站断路器合闸时间差&#xff0c;定位继电保护装置信号延迟&#xff1b;工业自动化中&#xff0c;优化汽车焊装线时序、提升半导体晶圆切割良率&#xff1b;科研计量上&#xff0c;助力量子通信同步校准&#xff…

Java面试基础:概念

1. Java的特点跨平台性&#xff1a;Java的 “编写一次&#xff0c;运行无处不在” 是其最大的特点之一。Java编译器将源代码编译成字节码(bytecode)&#xff0c;该字节码可以在任何安装了Java虚拟机(JVM)的系统上运行。面向对象&#xff1a;Java是一门严格的面向对象编程语言&a…