当前位置: 首页 > news >正文

Redis之Sentinel(哨兵)机制

一、Sentinel是什么?

Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。

二、连接

对于每个被Sentinel监视的主服务器来说,Sentinel会创建两个连向主服务器的异步网络连接:
❑一个是命令连接,这个连接专门用于向主服务器发送命令,并接收命令回复。
❑另一个是订阅连接,这个连接专门用于订阅主服务器的__sentinel__:hello频道。
命令连接主要用于sentinel给服务器发送命令,订阅连接可以让各sentinel之间相互感知

三、sentinel检测下线与选举领头sentinel

  • Sentinel配置文件中的down-after-milliseconds选项指定了Sentinel判断实例进入主观下线所需的时间长度:如果一个实例在down-after-milliseconds毫秒内,连续向Sentinel返回无效回复,那么Sentinel会修改这个实例所对应的实例结构,在结构的flags属性中打开SRI_S_DOWN标识,以此来表示这个实例已经进入主观下线状态
  • 当Sentinel将一个主服务器判断为主观下线之后,为了确认这个主服务器是否真的下线了,它会向同样监视这一主服务器的其他Sentinel进行询问,看它们是否也认为主服务器已经进入了下线状态(可以是主观下线或者客观下线)。当Sentinel从其他Sentinel那里接收到足够数量的已下线判断之后,Sentinel就会将从服务器判定为客观下线,并对主服务器执行故障转移操作
    所有在线的Sentinel都有被选为领头Sentinel的资格:最先向目标Sentinel发送设置要求的源Sentinel将成为目标Sentinel的局部领头Sentinel,而之后接收到的所有设置要求都会被目标Sentinel拒绝

四、Redis重新选主

按照以下规则过滤筛选
(1)删除处于下线或断线状态的从服务器
(2)删除列表中最近5秒内没有回复过领头sentinel的从服务器
(3)从服务器启动时,配置文件可配置优先级,按配置的优先级进行排序,找优先级最大
(4)优先级相同的,找复制偏移量最大的从服务器选为主服务器
选好主服务器之后,领头sentinel便可以向新主服务器发送slave of no one命令让其成为新主服务器
接着让其他从服务器执行slave of命令成为新主的从服务器

相关文章:

Redis之Sentinel(哨兵)机制

一、Sentinel是什么? Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)…...

加密的PDF文件,如何解密?

PDF文件带有打开密码、限制编辑,这两种密码设置了之后如何解密? 不管是打开密码或者是限制编辑,在知道密码的情况下,解密PDF密码,我们只需要在PDF编辑器中打开文件 – 属性 – 安全,将权限状态修改为无保护…...

【java】获取当前年份

目录 一、代码示例二、截图示例 一、代码示例 package com.learning;import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Year; import java.util.Calendar; import java.util.Date;/*** 获取当前年份*/ public class GetCurrentYear {public …...

前端面试话术集锦第一篇

🚗前端面试集锦目录 💖前端面试话术集锦第一篇💖 💖前端面试话术集锦第二篇💖 文章目录 1. 前端需要注意哪些SEO2. \<img>的title和alt有什么区别3. HTTP的⼏种请求⽅法⽤途4. 从浏览器地址栏输⼊url到显示⻚⾯的步骤5. 如何进⾏⽹站性能优化6. HTTP状态码及其…...

NeRFMeshing - 精确提取NeRF中的3D网格

准确的 3D 场景和对象重建对于机器人、摄影测量和 AR/VR 等各种应用至关重要。 NeRF 在合成新颖视图方面取得了成功&#xff0c;但在准确表示底层几何方面存在不足。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 我们已经看到了最新的进展&#xff0c;例如 NVIDIA 的 …...

后端面试话术集锦第五篇:rabbitmq面试话术

🚗后端面试集锦目录 💖后端面试话术集锦第 1 篇:spring面试话术💖 💖后端面试话术集锦第 2 篇:spring boot面试话术💖 💖后端面试话术集锦第 3 篇:spring cloud面试话术💖 💖后端面试话术集锦第 4 篇:ElasticSearch面试话术💖 💖后端面试话术集锦第 5 …...

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【一】

&#x1f600;前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【一】&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章…...

vue3之reactive和ref学习篇

<script lang"ts" setup> // reactive参数必须为引用类型 和ref简单类型或者引用类型 import { reactive, ref } from vue; const arr reactive([10]) const count ref(0); let increasing true; console.log(count) const change ()>{if(increasing){c…...

【推荐】Spring与Mybatis集成整合

目录 1.概述 2.集成 2.1代码演示&#xff1a; 3.整合 3.1概述 3.2 进行整合分页 接着上两篇&#xff0c;我已经写了Mybatis动态之灵活使用&#xff0c;mybatis的分页和特殊字符的使用方式接下来把它们集成起来&#xff0c;是如何的呢&#x1f447;&#x1f447;&#x1…...

listdir, makedirs, shuffle, exists, webdriver.Chrome, roll方法快速查阅

1 os.listdir() os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 2 os.makedirs(path) 方法用于递归创建目录。 如果子目录创建失败或者已经存在&#xff0c;会抛出一个 OSError 的异常 3 numpy.random.shuffle(x) 由numpy.random调用&#xff0c;可…...

java.nio.ByteBuffer 学习笔记

目录 java 重复使用bytebuffer例子&#xff1a; java验证flip函数&#xff1a; flip讲解 以下内容转自&#xff1a; java.nio.ByteBuffer java 重复使用bytebuffer例子&#xff1a; import java.nio.ByteBuffer;public class ByteBufferExample {public static void main…...

自动化实时在线静电监控系统的构成

自动化实时在线静电监控系统是一种帮助企业监测和管理静电问题的技术解决方案。静电在许多工业和商业环境中都是一个潜在的风险和生产问题。通过使用这样的监控系统&#xff0c;企业可以及时发现并采取对策来预防或减轻可能的静电问题。 该系统通常由以下组成部分构成&#xf…...

Windows 转 mac 记录

初次从Windows转mac可能会不适应&#xff0c;建议先看看 【6分钟搞定MacBook】不懂时无所适从&#xff0c;学会后越用越爽&#xff01;_哔哩哔哩_bilibili 我主要是做一些补充记录 1、Windows的右键等于mac的双击触控板、control单击触控板 2、运行中的应用下方会有一个点&…...

Linux_4_文本处理工具和正则表达式

目录 1文本编辑工具之神VIM1.1 vi和vim简介1.2使用vim1.2.1 vim 命令格式1.2.2三种主要模式和转换 1.3扩展命令模式1.3.1扩展命令模式基本命令1.3.2 地址定界1.3.3查找并替换1.3.4定制vim的工作特性1.3.4.1行号1.3.4.2忽略字符的大小写1.3.4.3白动缩进1.3.4.4复制粘贴保留格式1…...

[Unity]VSCode无代码提示

查看vscode的output窗口&#xff0c;提示加载 csproj 文件失败 It need be converted to new SDK style to work in C# Dev Kit. 把unity的PackageManager里的 Visual Studio Editor 版本升级到2.0.20或以上&#xff0c;重新生成csproj文件就好了。 参考vscode官方&#xff…...

画流程图都可以用哪些工具?

在日常生活中&#xff0c;我相信我们很多人都看到过流程图。对于设计师来说&#xff0c;它还需要涉及流程图来反映用户的旅程和交互方式。那么你知道哪些流行的流程图设计软件呢&#xff1f;作为高级设计师&#xff0c;我今天推荐10款流程图设计软件。你可以和我一起读这篇文章…...

Elasticsearch中倒排索引、分词器、DSL语法使用介绍

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…...

rabbitmq笔记-rabbitmq进阶-数据可靠性,rabbitmq高级特性

消息何去何从 mandatory和immediate是channel.basicPublish方法的两个参数&#xff0c;都有消息传递过程中不可达目的地时将消息返回给生产者的功能。 mandatory参数 true&#xff1a;交换器无法根据自身的类型 和路由键找到符合条件的队列&#xff0c;rabbitmq调用Basic.Re…...

【笔记】判断两个String字符串是否相同(考虑字符串为null的情况)

判断两个字符串是否相同&#xff0c;可用于判断一个字段在逻辑处理前后&#xff0c;值是否有变化。 其中重点是要考虑两个字符串是否有为null的情况&#xff0c;如果其中一个&#xff0c;或者两个都为空&#xff0c;用str1.equals(str2)直接判断&#xff0c;就会报NullPointer…...

【校招VIP】java语言考点之多线程NIO

考点介绍 多线程&NIO考点是校招面试中的常制点之一。 Java NIO是new IO的简称&#xff0c;是一种可以替代Java 10的一套新的IO机制。它提供了一套不同于Java标准1O的操作机制&#xff0c;严格来说&#xff0c;NIO与并发并无直接关系&#xff0c;但是使用NIO技术可以大大提高…...

3秒守护隐私:Boss-Key重新定义窗口智能管理

3秒守护隐私&#xff1a;Boss-Key重新定义窗口智能管理 【免费下载链接】Boss-Key 老板来了&#xff1f;快用Boss-Key老板键一键隐藏静音当前窗口&#xff01;上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在数字化办公环境中&#xff0c;窗…...

Source Han Serif CN完全攻略:企业级中文字体的零成本解决方案

Source Han Serif CN完全攻略&#xff1a;企业级中文字体的零成本解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字设计与开发领域&#xff0c;中文字体的选择一直是平衡…...

VisualGGPK2:《流放之路》MOD制作的高效解决方案

VisualGGPK2&#xff1a;《流放之路》MOD制作的高效解决方案 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 你是否曾因复杂的资源提取流程而放弃MOD创作&#…...

Paperxie AI 毕业论文写作,助力大学生高效搞定初稿

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 在本科毕业季的朋友圈里&#xff0c;总能刷到这样的动态&#xff1a;凌晨三点的台灯下&#xff0c;对着空白文档发…...

科研人高效投稿指南:Paperxie AI 期刊论文写作,让你的成果更快见刊

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/期刊论文https://www.paperxie.cn/ai/journalArticleshttps://www.paperxie.cn/ai/journalArticles 一、开篇&#xff1a;被期刊论文困住的科研人&#xff0c;你不是一个人 做实验时可以通宵达旦&#xff…...

突破Windows远程桌面限制:RDP Wrapper多用户并发实战指南

突破Windows远程桌面限制&#xff1a;RDP Wrapper多用户并发实战指南 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 在远程办公与协作日益普及的今天&#xff0c;Windows远程桌面功能成为连接不同设备的重要桥梁。…...

2026最新:宁波高新区代理记账收费标准公布,科技企业月均300元起

上周一位在高新区软件园创业的李总问我&#xff1a;"我们公司刚成立&#xff0c;就3个人&#xff0c;找一个代理记账一个月要花多少钱&#xff1f;"这个问题几乎是每个高新区创业者都会问的。作为在宁波服务了15年的财税机构&#xff0c;今天我就给大家说个明白。高新…...

Studio 3T 2026.6 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

Studio 3T 2026.6 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端 The Ultimate GUI, IDE and client for MongoDB 请访问原文链接&#xff1a;https://sysin.org/blog/studio-3t/ 查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sy…...

手把手教你用PLECS画波德图:从AC Sweep设置到看懂相位裕度,避坑指南

从零开始掌握PLECS波德图分析&#xff1a;工程师必备的频域诊断手册 第一次在PLECS里点击"AC Sweep"按钮时&#xff0c;我盯着满屏的参数选项发呆了十分钟。作为电力电子工程师&#xff0c;我们总说"看波德图就像看电路的体检报告"&#xff0c;但当你真正面…...

Rk3566 yolov5部署(一)Ubuntu系统镜像烧录与串口调试实战

1. 准备工作&#xff1a;硬件与软件清单 在开始RK3566开发板的Ubuntu系统镜像烧录之前&#xff0c;我们需要准备好必要的硬件和软件工具。我刚开始接触这块开发板时&#xff0c;就因为漏掉了几个小配件耽误了一整天时间&#xff0c;所以特别提醒大家要仔细检查以下清单。 硬件部…...