Redis哨兵机制的原理与配置

Redis——Redis哨兵机制原理 摘要 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。Redis 的持久化机制有两种,第一种是快照,第二种是 AOF 日志。快照是一次全量备份, AOF 日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF 日志记录的是内存数据修改的指令记录文本。 AOF 日志在长期的运行过程中会变的无比庞大,数据库重启时需要加载 AOF 日志进行指令重放,这个时间就会无 阅读详情

1、什么是哨兵机制

        哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预的问题。

主要的功能:

(1)集群监控:负责监控Redis master和slave进程是否正常工作;

(2)消息通知:如果某个Redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员;

(3)故障转移:如果master node挂掉了,会自动转移到slave node上;

(4)配置中心:如果故障转移发生了,通知client客户端新的master地址;

Redis哨兵的高可用:

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

  1.  哨兵机制建立了多个哨兵节点(进程),共同监控数据节点的运行状况。
  2.  同时哨兵节点之间也互相通信,交换对主从节点的监控状况。
  3.  每隔1秒每个哨兵会向整个集群:Master主服务器+Slave从服务器+其他Sentinel(哨兵)进程,发送一次ping命令做一次心跳检测。

         这个就是哨兵用来判断节点是否正常的重要依据,涉及两个新的概念:主观下线和客观下线。

1. 主观下线:一个哨兵节点判定主节点down掉是主观下线。

2.客观下线:只有半数哨兵节点都主观判定主节点down掉,此时多个哨兵节点交换主观判定结果,才会判定主节点客观下线。

3.原理:基本上哪个哨兵节点最先判断出这个主节点客观下线,就会在各个哨兵节点中发起投票机制Raft算法(选举算法),最终被投为领导者的哨兵节点完成主从自动化切换的过程。然后通过投票的方式选取其中的一个从机slave切换成主机master,修改其他的slave配置文件,重新形成新的主从关系网络;当原有的主机master恢复运行后,哨兵监测到后会将该主机master的角色转换成从机slave角色,加入到新的主从关系网络体中。

其中主从切换涉及到的配置文件有:

        master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换 

2、哨兵模式的配置修改

(1)在redis的配置文件中添加鉴权和验证(添加requirepass和masterauth),redis主从都需要配置,配置的密码一般相同。其中的鉴权requirepass为redis登录密码的设置,验证masterauth为主从复制配置中的主机密码的检验,否则从机无法连接上主机;

(2)redis一般都在内网运行,所以注释掉#bind 127.0.0.1或指定特定的ip连接

(3)关闭保护模式,protected-mode 把yes改为no

(4)添加(新增)sentinel.conf配置文件:

#sentinel端口
port 26379
#工作路径,注意路径不要和主重复
dir "/usr/local/redis-6379"
# 守护进程模式
daemonize yes
#关闭保护模式
protected-mode no
# 指明日志文件名
logfile "./sentinel.log"
#哨兵监控的master,mymaster为自定义名称,只用输入redis(主机)主节点的ip/port和法定人数(投票结果达到该数量为通过)
sentinel monitor mymaster 192.168.125.128 6379 1
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
#设置master和slaves验证密码
sentinel auth-pass mymaster 123456 

(3)启动哨兵命令:

redis-sentinel /path/to/sentinel.conf(推荐,这种方式启动和redis实例没有任何关系)

 

从示波器波形看懂死区:手把手教你调ST MCU的PWM,避免三相桥直通炸管 本文详细解析了如何通过示波器波形判断PWM死区时间,并手把手教你调整STM32高级定时器寄存器,避免三相逆变桥直通炸管。文章涵盖死区时间的本质与风险、STM32配置详解、示波器调试技巧及FOC系统中的特殊考量,帮助工程师优化电机驱动性能与安全性。 阅读详情

相关推荐

TDSQL-单机安装

根据腾讯云官方要求,TDSQL安装至少需要三台机器。本人想要学习TDSQL但是没有足够的机器资源,经过仔细分析研究TDSQL安装过程,尝试发现单台机器也可以成功安装TDSQL,现将本人单台机器安装TDSQL的过程以及安装过程中遇到的问题在此分享。具体安装过程可参考腾讯官方文档,本文仅分享与官方文档不一致的步骤。

u012607648的博客 6810

redis集群

主从复制模式 主从复制模式中包含一个主数据库实例(master)与一个或多个从数据库实例(slave) 客户端可对主数据库进行读写操作,对从数据库进行读操作,主数据库写入的数据会实时自动同步给从数据库。 具体工作机制为: 1、slave启动后,向master发送SYNC命令,master接收到SYNC命令后通过bgsave保存快照(RDB持久化),并使用缓冲区记录保存快照这段时间内执行的写命令 2、master将保存的快照文件发送给slave,并继续记录执行的写命令 3、slave接收到快照文件后,加载快照

cwg1992的博客 248

嵌入式STM32控制电梯面板

嵌入式STM32控制电梯面板 用点阵来显示电梯向上还是向下运动,用数码管来显示楼层数(由于灯阵显示楼层数比较困难故用数码管代替)。当按下对应的按钮,就可以去到对应层数,可上升可下降。 #include "stm32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_it.h" #define uint unsigned int #define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10) #define

code_init_的博客 2111

Redis哨兵模式原理

Redis哨兵模式原理一、哨兵模式二、配置三、检测异常(主观下线)四、客观下线五、故障转移六、使用七、缺点 一、哨兵模式 哨兵模式是Redis可用性的解决方案;它由一个或多个 sentinel 实例构成 sentinel 系统;该系统可 以监视任意多个主库以及这些主库所属的从库;当主库处于下线状态,自动将该主库所属的某个从 库升级为新的主库; 客户端来连接集群时,会首先连接 sentinel,通过 sentinel 来查询主节点的地址,然后再连接主 节点进行数据交互。当主节点发生故障时,客户端会重新向 s

菊头蝙蝠的博客 5787

Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库)

本文详细介绍了Unity中TextMeshPro中文乱码问题的解决方案,包括快速生成中文字体的步骤和优化技巧。通过使用支持中文的.ttf字体文件和自定义字符集,开发者可以在5分钟内解决TMP显示小方块的问题,提升游戏或应用的文本显示效果。

weixin_33095355的博客 363

SKF SimPro Quick 4.8.1发布

发布说明可以在SimPro手册的SKF SimPro Quick应用程序的一般部分下找到(帮助→SKF SimPro快速手册→一般→发布说明)。请删除旧版本,请备份您存储在C:\SKF SimPro xxx\files文件夹中的文件以及所有自定义报告模板和表格。我们很高兴地通知您,我们的轴承应用工程软件SKF SimPro Quick 4.8.1可供下载。将新的安装文件下载到本地计算机后,双击它安装向导将打开(按照说明操作)3.安装后,在本地机器上启动SKF SimPro Expert软件。

小韩的博客 1820

Redis哨兵机制原理详解

哨兵模式:(心跳检测机制) 前面说到主从模式其实是一种数据的备份方式,如果master宕机了,需要手动切换,并且还要切换客户端的连接数据源。这就无法达到高可用。哨兵模式就可以解决这一问题。 哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。 哨兵架构下client端第一次从哨兵找出redis的主节点,后续就直接访问redis的主节点,不会每次都通过sentinel代理访问redis的主节点,当redis的主节点发生变化,哨兵会第一时间感知到,并且哨兵会早主从模式的从节点..

张维鹏的博客 3万+

告别手动输入!用Access批量导入307种土壤数据到SWAT模型(附完整MDB操作流程)

本文详细介绍了如何利用Microsoft Access批量导入307种土壤数据到SWAT模型,显著提升数据录入效率。通过解析usersoil表结构、提供Access操作指南和VBA自动化脚本,帮助环境工程师避免手动输入错误,实现高效数据管理。文章还包含性能优化技巧和常见错误解决方案,是SWAT模型用户的实用指南。

weixin_28366053的博客 326

【微服务】第31节:Redis的哨兵模式

IT领域往往都是面试造火箭,实际工作拧螺丝。为了更好的应对面试,让大家能拿到更高的offer,我们接下来就讲讲“造火箭”的事情。微服务Redis面试篇,主要包括: Redis主从、哨兵机制、分片集群、数据结构、内存回、Redis缓存一致性。

m0_46013789的博客 2743

大语言模型原理与工程实践:行业大语言模型的评测:以金融行业大语言模型为例

大语言模型、金融行业、模型评测、自然语言处理、深度学习、Transformer、BERT、GPT 1. 背景介绍 近年来,大语言模型(Large Language Model,LLM)在自然语言处理(Natural Language Processing,NLP)领域取得了突破性的进

AI大模型应用之禅 137

老款 NUC 复活计划:装 Ubuntu 部署 OpenClaw 本地 AI

老款 NUC 变身本地 AI 服务器指南 本文详细介绍了如何将老旧华硕 NUC 设备改造为本地 AI 服务器。主要内容包括: 硬件评估:列出老款 NUC 的最低配置要求(i3 6代/8GB内存/256GB SSD),并提供兼容性检查命令和性能预期表 系统准备:指导备份数据、下载 Ubuntu 22.04 LTS 和制作启动盘的方法(Windows/Linux双平台) 安装流程:从 BIOS 设置到 Ubuntu 安装的完整步骤,包括推荐的分区方案 系统优化:禁用不必要的服务、内核参数调优、Swap 配置和

博客 7608

mysql哨兵机制_Redis之哨兵机制(sentinel)——配置详解及原理介绍

说到Redis不得不提哨兵模式,那么究竟哨兵是什么意思?为什么要使用哨兵呢?接下来一一为您讲解:1.为什么要用到哨兵哨兵(Sentinel)主要是为了解决在主从(master-slave)复制架构中出现宕机的情况,主要分为两种:1.1 从Redis宕机(slave)在Redis中从库重新启动后会自动加入到主从架构中,自动完成同步数据。在Redis2.8版本后,主从断线后恢复的情况下实现增量复制。1...

weixin_42298332的博客 1399

OpenClaw实战系列06:持久记忆与RAG知识库构建——让AI真正“记住”你

本文介绍了OpenClaw AI助理的持久记忆与RAG知识库构建功能。OpenClaw采用"文件即真理"的独特设计,所有记忆都以Markdown文件形式存储,支持直接编辑和Git版本管理。记忆系统分为三层:长期精炼记忆(MEMORY.md)、日常日志(按日期存储)和归档记忆。文章详细说明了环境配置步骤,包括安装必要组件、创建目录结构、设置API密钥,并提供了OpenClaw主配置文件的完整参数说明。该系统实现了跨会话、跨平台的持久化记忆,使AI助理能真正理解用户需求。

PeterPan的博客 1171

Redis哨兵机制全解析:原理、配置与实战故障转移演示

Redis哨兵机制实战解析:实现高可用缓存架构 本文深入探讨Redis哨兵(Sentinel)机制的核心原理与实战应用。作为Redis官方高可用解决方案,哨兵系统通过监控、通知、自动故障转移三大核心功能,有效解决主节点单点故障问题。文章详细演示了从一主二从架构配置到哨兵集群部署的全过程,重点解析了故障转移触发条件和选举机制(Raft协议)。通过模拟主节点宕机场景,展示了自动切换新主节点的完整流程,并提供了常见问题的排查方法。最后指出哨兵方案在数据一致性、脑裂风险等方面的局限性,为构建稳定分布式系统提供实用指

2403_87729201的博客 721

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怎么查看redis接受的命令_Redis专题6:哨兵机制

Redis 分布式为什么需要Reids 集群?性能Redis 本身的QPS 已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响的。这个时候我们就会希望能有更多的Redis服务来完成工作。扩展出于对于存储的考虑。因为Redis 所有的数据都放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们就会需要一种横向的扩展的方法。可用性第三个是可用性和安...

weixin_39693950的博客 1533

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Redis (十五) 哨兵机制

redis哨兵机制

不能再留遗憾了的博客 1443

Redis哨兵机制

Redis哨兵机制主备Redis主从配置哨兵机制 Redis默认提供主备能力,允许自动同步,防止单主机损坏后数据丢失。 主备 主备指的是一台主机可以有N台备份同步数据处理主机,当设置了A主机的内容之后,那么该内容可以自动同步到B主机或其他主机上。主从机制可以实现数据的自动备份同步操作。通过Master主机操作时,系统会自动将所有的增加、修改、删除操作作用于全部Slave主机中。 主从配置中若Master主机挂了之后,其他从主机将无法正常工作。为解决此问题提出了哨兵方案即设置哨兵监控进程,若干哨兵进程监控整

sinat_27674731的博客 162

socket心跳机制图片_Redis专题6:哨兵机制

Redis 分布式为什么需要Reids 集群?性能Redis 本身的QPS 已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响的。这个时候我们就会希望能有更多的Redis服务来完成工作。扩展出于对于存储的考虑。因为Redis 所有的数据都放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们就会需要一种横向的扩展的方法。可用性第三个是可用性和安...

weixin_26895511的博客 135

Redis缓存服务器的 分片机制 和 哨兵机制 的配置与详解

Redis的分片机制说明 Redis分片中的一致性HASH算法 Redis节点主从配置 哨兵机制工作原理

qq_45273552的博客 1638

Redis的哨兵机制,一文全解

Redis哨兵机制是一种用于监控和管理Redis主从复制的机制,它能够自动监测Redis主节点的状态,并在主节点下线时自动将一个新的从节点升级为主节点,以保障系统的高可用性。在Redis哨兵机制中,有三类角色:哨兵节点(Sentinel):哨兵节点是一个独立的进程,负责监控Redis主节点和从节点的状态,以及进行故障检测和故障转移操作。主节点(Master):主节点是一个提供读写功能的Redis实例,它可以有多个从节点,负责处理客户端的写操作并将写操作复制到从节点。

m0_51691167的博客 571

Redis集群高可用环境之哨兵机制(12)

Redis的哨兵机制就是能够自动监控master是否发生故障,如果故障了会根据投票数从slave中挑选一个作为master,其他的slave会自动转向同步新的master,实现故障自动转义。

若成风的博客 830

linux 环境下redis 哨兵机制 (五)

一.主从复制的问题 Redis 复制有一个缺点,当主机 Master 宕机以后,我们需要人工解决切换,比如使用slaveof no one 。实际上主从复制并没有实现,高可用, 高可用侧重备份机器, 利用集群中系统的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务 如下图所示: 一旦主节点宕机,写服务无法使用,就需要手动去切换,重新选取主节点,手动设置主从关系 那...

yinjinshui的博客 877

Redis哨兵机制详解及其C#应用示例

Redis哨兵(Sentinel)机制是Redis实现高可用性的重要手段之一,它通过监控Redis主从节点的运行状态,并在主节点发生故障时自动进行故障转移,确保Redis服务的连续性和稳定性。本文将详细解析Redis哨兵机制的工作原理、配置方法,并提供一个基于C#的示例代码,以展示如何在实际项目中应用Redis哨兵机制。一、Redis哨兵机制概述Redis哨兵机制是一种高可用性解决方案,它通过一组...

dotNET跨平台 550

redis集群配置主从同步和哨兵机制

主从同步 概念 redis的主从同步是指集群中多个redis之间的数据同步。一般有两种模式:一主多从和级联模式。 一主多从是指集群中有一台主redis服务器(master)和多台从redis服务器(replica)。 级联模式是指某些redis服务器既是从redis,同时其本身又是一些redis服务器的主redis。 用图片表示的话就像下图一样。 ...

czx2018的博客 1817

Redis集群,备份,哨兵机制

原文:https://blog.youkuaiyun.com/zy345293721/article/details/87536144 1.集群 先来简单了解下redis中提供的集群策略, 虽然redis有持久化功能能够保障redis服务器宕机也能恢复并且只有少量的数据损失,但是由于所有数据在一台服务器上,如果这台服务器出现硬盘故障,那就算是有备份也仍然不可避免数据丢失的问题。 ...

weixin_30776273的博客 185

详解Redis的哨兵机制

在主从模式下(主从模式就是把上图的所有哨兵去掉),master节点负责写请求,然后异步同步给slave节点,从节点负责处理读请求。如果master宕机了,需要手动将从节点晋升为主节点,并且还要切换客户端的连接数据源。这就无法达到高可用,而通过哨兵模式就可以解决这一问题。哨兵模式是Redis的高可用方式,哨兵节点是特殊的Redis服务,不提供读写服务,主要用来监控Redis实例节点。

m0_52312673的博客 1457

Redis 哨兵机制与实现

Redis 哨兵机制与实现 一、当没有设置哨兵机制 1.redis主从之前是通过ping来检查对方是否存活,当从节点挂机,主节点会直接将其剔除,当主节点挂掉的时候,从节点这里会显示主节点状态为 down,不会重新选举出来新的主节点,此时我们只有从节点在工作了,所以现在我们只能做读的操作,不能进行写操作了(因为我们在配置文件中设置了从节点的 read-only) 二、哨兵机制 1.配置哨兵机制,其实就是让第三方介入,当我们的主节点挂掉后,他就会为我们选举出一个新的主节点来提供服务,配置哨兵之后欧他就会监控我

weixin_45445879的博客 436
上一篇: Redis配置文件详解
下一篇: Redis入门及基础介绍
Array*
博客等级 码龄9年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值