【Redis】哨兵机制

news2024/11/15 9:16:28

一、哨兵机制高可用架构图

        哨兵模式时给予主从模式的,是为了解决主从模式单点(master)故障导致服务不可用的问题,但并未解决单节点存储能力有限的问题。

 二、心跳检测机制

三、 选举机制

主观下线:主服务器master宕机后,哨兵1检测到这个结果,系统并不会马上进行failover,这仅仅是哨兵1认为主服务器不可用,这种现象称为主观下线。

客观下线:当其他哨兵也检测到主服务器master不可用且数量到达配置的值时,哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。切换成功后,就会通过发布订阅模式,让各个哨兵把自己监控的从服务器切换成主服务器,这个过程称为客观下线。这样对于客户端而言,一切都是透明的。

  • 当一个master服务器被某sentinel视为下线状态后,该sentinel会与其他sentinel选举leader进行故障转移;
  • 每个正常的sentinel都可以要求其他sentinel选自己作为leader,选举规则是先到先得;
  • 同时,每个sentinel每次选举都会自增配置纪元(选举周期),每个纪元中只会选择一个sentinel的leader;
  • 如果超过一半的sentinel选举了某个sentinel做leader,则该sentinel将会作为leader进行故障转移,从存活的slave中选出新的master的过程和集群的master选举类似。
  • 哨兵选举leader的规则是:

(1)选择在线的节点,过滤掉已经下线的节点;

(2)选择响应速度快的,过滤掉响应慢的节点;

(3)选择与原master断开时间短的,过滤掉断开时间长的;

(4)以上优先级都一致时,选择偏移量较大的、runid偏大的。

哨兵集群选举:哨兵集群只有一个哨兵节点,redis的主从也能正常运行以及选举master,如果master挂了,那唯一的那个哨兵节点就是哨兵leader了,可以正常选举新master。 不过为了高可用一般都推荐至少部署三个哨兵节点。为什么推荐奇数个哨兵节点原理跟集群奇数个master节点类似。

四、故障转移机制


这篇也不错,找时间参考参考《https://huaweicloud.csdn.net/637ef70adf016f70ae4cae5b.html?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~activity-5-114832836-blog-131264758.235^v38^pc_relevant_default_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~activity-5-114832836-blog-131264758.235^v38^pc_relevant_default_base&utm_relevant_index=6》

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

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

相关文章

html实现好看的个人介绍,个人主页模板4(附源码)

文章目录 1.设计来源1.1 主界面1.2 我的文章界面1.3 我的相册界面1.4 关于我界面1.5 联系我界面 2.效果和源码2.1 动态效果2.2 源代码2.2 源代码目录 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/131265259 …

web实验四表单处理实验

实验原理 通过jQuery实现修改HTML标签属性,完成网页的动态显示效果,理解JavaScript语法、动态页面的实现原理、基本设计思想及实现方法。 实验目的 理解并掌握基于id、class、name等HTML属性选择器的实现方法 理解并掌握控制disabled、checked、hidden等…

python自动化办公——定制化读取Excel数据并写入到word表格

Python自动化办公——Excel写word表格 文章目录 Python自动化办公——Excel写word表格一、引言二、数据准备三、python代码1、方法一2、方法二3、方法三 一、引言 最近到了毕业设计答辩的时候,老师让我帮毕业生写一段毕业设计的功能就是提供一个学士学位授予申请表…

网安自学路线学习心得/学习规划

趁着今天下班,我花了几个小时整理了下,非常不易,希望大家可以点赞收藏支持一波,谢谢。 我的经历: 我 19 年毕业,大学专业是物联网工程,我相信很多人在象牙塔里都很迷茫,到了大三大…

pywinauto自动化测试使用经验

本文主要介绍了pywinauto自动化测试使用经验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在开发Windows应用程序时,我们经常需要进行测试来确保程序…

CSS基础学习--16 Float(浮动)

一、定义 CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。 Float(浮动),往往是用于图像,但它在布局时一样非常有用。 元素的水平方向浮动,意味着…

【Spring】— Spring MVC的注解

目录 Spring MVC的注解1.DispatcherServlet2.Controller注解类型3.RequestMapping注解类型(1)RequestMapping注解的使用(2)RequestMapping注解的属性(3) 组合注解(4)请求处理方法的参…

2023天猫纸品数据:抽纸销额高达25亿,湿厕纸为重点增长类目

如今,纸巾早已成为人们日常生活的必需品。作为刚需物品,纸巾的产品形态呈现多元化、细分化趋势,其市场规模也比较庞大。 根据鲸参谋电商数据分析平台的相关数据显示,今年1月至4月,天猫平台上纸巾行业大盘的销量超过1.6…

05 用况图

用况图 1. 主题 是由一组用况所描述的一个系统或子系统。 以Credit Card Validation System 所标识的矩形就是一个主题: 2. 用况 使用视角: 用况表达了参与者使用系统的一种方式。 系统设计视角:一个use case规约了系统可以执行的一个动…

Spring AOP讲解

目录 Spring AOP概念 AOP适用场景 AOP 组成 1、切面(Aspect) 2、切点(Pointcut) 3、通知(Advice) 4、连接点(Join Point) Spring AOP实现 添加AOP框架依赖 定义切面和切点…

解决 An attempt was made to call a method that does not exist. 问题详解

哈喽大家好,我是阿Q。今天在开发代码的过程中,由于手抖,不知道引入了什么包依赖,导致项目启动一直报错,特写本文来记录下解决问题的经过。 文章目录 问题描述报错信息如下报错描述 解决方法总结 有想赚点外块|技术交流…

hadoop基础(二)

JAVA客户端 环境搭建 创建Maven项目,添加Hadoop依赖. <dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId…

神级插件Bito介绍及使用

还在用其他AI?不是说它不火了&#xff0c;而是你基本上很难访问了。这里介绍个便宜且免费的AI聊天插件&#xff0c;一样可以很棒。永久免费且不限制次数&#xff0c;有这好事&#xff1f;且听下文分解。 前言 虽然GPT 是用不了&#xff0c;推荐下国内的一些大模型&#xff0c…

Win10下pytorch3D安装方法,本人亲测可用

本人的电脑配置如下&#xff1a; GPU&#xff1a;GTX 1050TiCUDA&#xff1a;11.1python&#xff1a;3.8pytorch&#xff1a;1.9.0pytorch3d&#xff1a;0.7.1NVIDIA CUB&#xff1a;cub-1.9.10-1 目录 1.版本确认 2.下载cub 3.下载pytorch3d 4.下载VSC2019 5.编译pytorch…

Web3开发准备工作 手把手带你创建自己的 MetaMask 账号

查看本文 您需要在自己的谷歌浏览器中添加 扩展工具 MetaMask 如果没有添加 可以查看文章 Web3 将 MetaMask添加入谷歌浏览器 扩展程序中 我们打开它并点击开始使用 那么 我们第一次进来 肯定是啥都没有 所以 我们点 创建钱包 他这里 就会先跟你说清楚 他不会收集你的 秘钥 地…

握手信号的打拍

在数字电路的设计中,对关键路径的处理方法之一就是插入寄存器,然而,对握手信号插入寄存器则需要进行特殊的处理,否则可能导致数据传输的错乱,严重影响电路的功能。 如图所示,为了阐述对握手信号打拍的处理方式,我们给出了下图所示的简化模型,其中,上游的握手信号包括v…

OpenCV迭代去畸变undistortPoints 与vins的迭代不同 第二章vins前端 第三章imu预积分 第四章vio初始化

OpenCV去畸变undistortPoints原理解析 不动点迭代法—单变量非线性方程近似根matlab求解 淦VINS-MONO源码 03–openCV与VINS中去畸变方法的不同 这里用的方法和openCV不同&#xff0c;假设现在求A点的去畸变坐标&#xff0c;那么我们将A的坐标直接代入畸变模型中&#xff0c;求…

【Leetcode】2. 两数相加

一、题目 1、题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例1: …

知识图谱项目——红色文化之张学良人物知识图谱(Neo4j+vue+flask+mysql实现)

张学良人物简史知识图谱_说明文档 本项目为人工智能专业大三知识图谱课程期末作业。意在完成一个以张学良为背景的红色文化类知识图谱。文末放上本项目的代码地址。 文章目录 张学良人物简史知识图谱_说明文档:rocket:前端:rocket:后端:rocket:中间件:rocket:数据库:rocket:服…

深度学习(22)——YOLO系列(2)

深度学习&#xff08;22&#xff09;——YOLO系列&#xff08;2&#xff09; 文章目录 深度学习&#xff08;22&#xff09;——YOLO系列&#xff08;2&#xff09;1. model2. dataset3. utils4. test/detect5. detect全过程 今天先写YOLO v3的代码&#xff0c;后面再出v5&…