Redis的哨兵模式
什么是哨兵模式
哨兵模式主要有三个⽬标:
- 监控:哨兵模式会不断地检查主服务器和从服务器是否按预期⼯作。
- 通知:如果某些Redis实例有故障,哨兵模式可以通过API向管理员或者其他应⽤程序发送通知。
- ⾃动故障转移:如果主服务器⽆法正常⼯作,哨兵模式可以开始⼀个故障转移过程,由⼀个从服务器升级为新的主服务器,并让其他从服务器改变他们的主服务器为新的主服务器。
哨兵模式的特点:
- 哨兵模式⾃动转移失败的主服务器到⼀个从服务器。
- 哨兵模式持续监控所有Redis服务器,以便在需要时报告错误。
- 通过提供⼀个基于哨兵的API,客户端可以⾃动发现新的主服务器地址。
哨兵模式的判断下线过程:

- 如果此时主服务器宕机,哨兵1检测到了,系统并不会⽴即进⾏failover(故障转移)过程
- 此时仅仅是哨兵1主管的认为主服务不可⽤,此现象为主观下线
- 当后续的哨兵也检测到主服务器不可⽤时,并且数量达指定数量时
- 哨兵之间就会进⾏⼀次投票,投票结果由1个哨兵发起,进⾏failover操作
- 切换成功之后,就会通过发布订阅模式,让各个哨兵把⾃⼰监控的从服务器切换主机,这个过程为客观下线
哨兵模式的选举过程:
- ⾸先会判断slave节点与master节点断开时间⻓短,如果超过指定值 (down-after-milliseconds*10)则会排除该slave节点
- 然后判断slave节点的slave-priority值,越⼩优先级越⾼,如果是0则永不参与选举
- 如果slave-prority⼀样,则判断slave节点的offset值,越⼤说明数据越新,优先级越⾼
- 最后是判断slave节点的运⾏id⼤⼩,越⼩优先级越⾼
故障转移过程:
- Sentinel给备选的节点发送slaveof on one命令,让该节点成为Maskter
- Sentinel给其他slave发送 “slaveof ip 端⼝” 命令,开始从Master上同步数据
- 最后Sentinel将故障节点标记为slave(执⾏slaveof ip 端⼝命令),故障节点恢复以后也会成为新Master的slave
相关文章:
Redis的哨兵模式
什么是哨兵模式 Redis的哨兵模式( Sentinel mode )是⼀个⾼可⽤解决⽅案,当运⾏多个 Redis 实例并且需要⾃动故障转移时,哨兵模式⾮常有⽤。 在⼀个典型的哨兵模式下,⾄少需要3 个哨兵实例来避免 “ 脑裂 ” ÿ…...
Hadoop伪分布式安装教程
Hadoop伪分布式安装教程 一、安装背景1.1 软件列表1.2 系统软件列表 二、安装Hadoop2.1 安装 Java 环境2.1.1 前期准备2.1.2 文件传输2.1.3 解压文件2.1.4 配置 jdk 的环境变量2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功 2.2 Hadoop 下载地址[hadoop](h…...
Day43 代码随想录打卡|二叉树篇---左叶子之和
题目(leecode T404): 给定二叉树的根节点 root ,返回所有左叶子之和。 方法: 迭代法:计算所有的左叶子节点,那我们就必然要找到所有的左叶子节点。那么怎么找呢?如何针对cur->l…...
微信小程序动画
微信小程序动画属性:提升用户体验的利器 引言 随着移动互联网技术的快速发展,微信小程序已经成为开发者和用户的热门选择。其轻便、快捷、即用即走的特点使得它在各种场景中都有广泛的应用。而动画作为一种重要的视觉元素,在增强用户体验方…...
js, ellipsis属性, 超出宽度自动省略... , 并且显示2行
overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; text-overflow:ellipsis;...
ucharts自定义添加tooltip悬浮框显示项内容且换行
欢迎点击领取 -《前端开发面试题进阶秘籍》:前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的🪜 一、需求描述分析 1、小程序上实现图表的绘制,多条线路,不同颜色,悬浮框对应内容不同数据进行处理 2…...
Mongo 地理位置查询:海量密集点转换成聚合信息
通俗来说:将地图上的海量密集点通过网格分割的方式实现聚合; 需求:用mongo实现设备地理位置聚合查询 :多边形,矩形查询; 背景:上万设备数据量 目的:分享Mongo地理位置查询,以及文…...
bpmn+vue 中文文档
1.初始化项目 <script> import BpmnModeler from bpmn-js/lib/Modeler import { xmlStr } from /mock/xmlStr export default {mounted () {this.init()},methods: {init () {// 获取到属性ref为“canvas”的dom节点const canvas this.$refs.canvas// 建模const custom…...
React Router v5 和 v6 中,路由对象声明方式有什么区别?
一、在React Router 6.x开始,路由对象的声明需要引用RouteObject。 import { RouteObject } from react-router-dom;const routes: RouteObject[] [{path: /,element: <Home />},{path: /about,element: <About />},// ... ];二、一些老项目使用的是R…...
【全开源】知识库文档系统(ThinkPHP+FastAdmin)
📚知识库文档系统:解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统,可用于企业工作流程的文档管理,结构化记录沉淀高价值信息,形成完整的知识体系,能够轻松提升知识的流转和传播效率&a…...
Python赋能自然语言处理,解锁通往AI的钥匙
NLTK(Natural Language Toolkit)是一个用于 Python 的自然语言处理库,提供了丰富的工具和资源,帮助处理、分析和理解人类语言数据.它广泛应用于学术研究、教育和商业应用中. 安装 #首先要安装 NLTK:pip install nltk安装完成后,还需要下载…...
Ktor库的高级用法:代理服务器与JSON处理
在现代网络编程中,Ktor是一个高性能且易于使用的框架,它提供了对异步编程、WebSockets、HTTP客户端和服务器等特性的原生支持。Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法&#…...
VS2017配置OpenCV4.5.1
VS2017配置OpenCV 一、下载OpenCV二、配置OpenCV的电脑环境变量三、配置visual Studio添加路径复制文件到C盘 四、如何使用注意运行时选择Debug x64 五、报错:VSOpencv出现:xxx处有未经处理的异常: Microsoft C 异常: cv::Exception,位于内存…...
phpstudy配置的站点不能访问了
无法打开站点 打开网站的时候出现如下 没有人为主动去更改配置项,今天就不能正常访问了 检查了一遍配置,发现并无大碍,那就重新配置一遍看看 配置phpstudy 1、新建网站 2、选择项目入口文件夹 3、配置伪静态 4. 确认保存 在我的电脑 C:\…...
Java Web学习笔记2——Web开发介绍
什么是Web? Web:全球广域网,也称为万维网(WWW World Wide Web),能够通过浏览器访问的网站。 1)淘宝、京东、唯品会等电商系统; 2)CRM、OA、ERP企业管理系统࿱…...
从零开始实现自己的串口调试助手(3) - 显示底部收发,优化串口打开/关闭
注意: 1. 我们要实现自发自收,要将tx,rx连起来 2.发送的 不能是中文符号,因为这可能导致,读取到的是英文符号 --> 导致接收到的size 和发送的size 大小不一致 3.注意同时定义两个槽函数的时候两个槽函数都会被调用,…...
更改Web网站设计——css和css框架
虽然使用HTML可以定义文章的结构,但是其中不包含设计相关的信息。此时CSS就派上用场,可以用它对HTML文章指定设计样式。由于可以决定Web网页的外观风格,因此,它有时也被称为格式表。 如果使用CSS设置背景色,文…...
持续监控和优化的简单介绍
DevOps 监控提供了有关生产环境状况的全面且最新的信息,以及有关其服务、基础设施和应用程序的详细信息。通过从日志和指标中收集数据,您可以在软件开发生命周期的每个步骤中监控合规性和性能。 监控不仅仅针对生产问题,它涵盖了规划、开发、…...
针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT)的准物理等效电路模型,包含基板中射频漏电流的温度依赖性
来源:Quasi-Physical Equivalent Circuit Model of RF Leakage Current in Substrate Including Temperature Dependence for GaN-HEMT on Si(TMTT 23年) 摘要 该文章提出了一种针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT&…...
基于websocket与node搭建简易聊天室
一、前言 上一篇文章介绍了websocket的详细用法与工具类的封装,本篇就基于websocket搭建一个简易实时的聊天室。 在本篇开始之前也可以去回顾一下websocket详细用法:WebSocket详解与封装工具类 二、基于node搭建后台websocket服务 首先确认本机电脑中…...
PHP开发者必看:通过xss-labs靶场level1-10,彻底搞懂htmlspecialchars()的坑与正确用法
PHP开发者实战指南:从xss-labs靶场剖析htmlspecialchars()的深层防御逻辑 在Web安全领域,XSS漏洞长期占据OWASP Top 10榜单,而PHP作为服务端主力语言,其内置的htmlspecialchars()函数常被开发者视为防御利器。但真实情况是&#x…...
老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生
老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧Mac设备升级macOS系统是许多用户面临的技术难题&am…...
探索图像缩放的Verilog源代码之旅
图像缩放verilog源代码 是一个从给定的输入图像构建调整大小后的图像的过程。 构建的图像可以比原图像更小、更大或尺寸相等。 verilog源代码,官方IPcore,含仿真用例, 可在不同厂商FPGA上编译。在数字图像处理的领域里,图像缩放是…...
10天掌握Python编程(附20节实战视频),网盘资源速领
1. 为什么选择Python作为编程入门首选? 如果你正在寻找一门适合零基础学习的编程语言,Python绝对是你的不二之选。作为一门解释型高级语言,Python以其简洁优雅的语法和强大丰富的生态圈闻名。我十年前刚开始接触编程时,就是从Pyth…...
PvZ Toolkit:突破植物大战僵尸限制的终极修改器
PvZ Toolkit:突破植物大战僵尸限制的终极修改器 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 副标题:面向全阶段玩家的游戏体验增强工具,让每一场攻防战尽在掌…...
为什么越来越多的STM32项目转向HAL库?从寄存器封装层次看开发效率提升
为什么STM32开发者纷纷拥抱HAL库?深度解析现代嵌入式开发效率革命 在嵌入式开发领域,STM32系列单片机凭借其出色的性能和丰富的生态,已成为工程师们的首选平台。然而,随着产品迭代速度的不断加快,开发效率成为衡量技术…...
别再只用3x3卷积了!手把手教你为YOLOv8定制任意形状的卷积核(AKConv保姆级教程)
突破传统卷积限制:AKConv在YOLOv8中的创新实践 卷积神经网络(CNN)作为计算机视觉领域的基石,其核心组件卷积操作的设计直接影响着模型性能。传统33卷积虽然广泛应用,但在处理非规则形状目标时存在明显局限性。本文将深…...
AsyncAPI通道管理终极指南:如何高效组织消息流的关键技巧
AsyncAPI通道管理终极指南:如何高效组织消息流的关键技巧 【免费下载链接】spec The AsyncAPI specification allows you to create machine-readable definitions of your asynchronous APIs. 项目地址: https://gitcode.com/gh_mirrors/spec/spec AsyncAPI…...
DeepSeek-OCR 技术解析:基于视觉压缩的端到端文档理解新范式
1. DeepSeek-OCR:重新定义文档理解的下一代技术 第一次接触DeepSeek-OCR时,我正被一个复杂的多栏报纸数字化项目困扰。传统OCR工具在处理这种复杂版面时,要么丢失栏目分隔信息,要么混淆文字顺序。直到尝试了DeepSeek-OCR的Gundam动…...
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到这样的困境?在线课程视频无法下载、设计素材图片无法批量保…...
