【Redis】Redis探秘Sentinel(哨兵模式)!

redis之sentinel模式 redis哨兵模式,高可用集群部署模式 阅读详情

概述

Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:

  • 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。
  • 复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
  • 哨兵:哨兵实现了主从复制中故障的自动化恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。
  • 集群:通过集群,解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

本文这里将介绍Redis的哨兵机制。

为什么要有哨兵

Redis的主从模式重点在于解决整体的承压能力,利用从节点分担读取操作的压力。但是其在容错恢复等可靠性层面欠缺明显,不具备自动的故障转移与恢复能力:

  • 如果slave从节点宕机,整个redis依旧可以正常提供服务,待slave节点重新启动后,可以恢复从master节点的数据同步、然后继续提供服务。
  • 如果master主节点宕机,则redis功能受损,无法继续提供写服务,直到手动修复master节点方可恢复。

当然,master节点故障后,也可以手动将其中一个从节点切换为新的master节点来恢复故障。而原先的master节点恢复后,需要手动将其降级为slave节点,对外提供只读服务。

实际使用的时候,手动故障恢复的时效无法得到保证,为了支持自动的故障转移与恢复能力,Redis在主从模式的基础上进行优化增强,提供了哨兵(Sentinel)架构模式。

那么就需要有一个机制,能够监测主节点是否存活,如果发现主节点挂了,就选举一个从节点切换为主节点,并且把新主节点的相关信息通知给从节点和客户端。

那么就有以下三个问题需要解决:

  • 主库真的挂了吗?
  • 选择哪个从库作为主库?
  • 如何把新主库相关信息通知给从库和客户端

哨兵机制流程

Redis的哨兵模式,就是在主从模式的基础上,额外部署若干独立的哨兵进程,通过哨兵进程去监视者Redis主从节点的状态,一旦发现主节点宕机,则哨兵可以重新从剩余slave节点中推选一个新的节点并将其升级为master节点,以此保证整个系统功能可以正常使用。

哨兵负责三个任务:监控,选主(选择主库)和通知。

  • 监控:监控是指哨兵进程运行时,周期性(默认1秒)给所有主从节点发送 PING 命令,当主从节点收到 PING 命令后,会发送一个响应命令给哨兵,这样就可以检测他们是否仍然在线运行。
    • 从库没有在规定时间内响应哨兵的PING命令,哨兵就会把它标记为"下线状态";
    • 主库没有在规定时间呢响应哨兵的PING命令,哨兵就会判定主库下线启动选主流程。
  • 选主:哨兵在主库挂了以后,按照一定规则从从库中选出作为新的主库。
  • 通知:哨兵将选出的新主库连接信息发给其他从库,从库和新主库建立连接,执行replicaof命令,复制数据。同时,哨兵会把新主库的连接信息通知给客户端,让它们将操作请求发送给新主库上。

监控:如何判断主库是否真的挂了

哨兵进程会使用PING命令检测主和从库的连接情况,用来判断实例状态;

如果哨兵发现主库或者从库对PING命令响应超时,那么哨兵就会把它标记为"主观下线"。

  • 对于从库,哨兵可以简单标记为"主观下线",因为从库下线影响不大,集群对外服务不会中断。
  • 对于主库,哨兵不能简单标记为"主观下线",开启主从切换。因为可能存在一种情况:哨兵误判,主库没有故障,可是一旦启动选主和通知操作后续的选主和通知操作都会带来额外的计算和通信开销。还可能产生脑裂。

确认主库下线了,主库才能被标记为客观下线。需要注意的是客观下线是主节点才有的概念;如果从节点和哨兵节点发生故障,被哨兵主观下线后,不会再有后续的客观下线和故障转移操作。

什么是误判?
主库实际没有下线,但是哨兵以为它下线了。误判产生原因:比如集群网络压力较大,出现网络拥塞,或者主库本身压力较大,导致主节点没有在规定时间内响应哨兵的 PING 命令。

因此,这里有两个问题:

  • 需要尽量避免误判 - 少数服从多数
  • 有两个哨兵都判断主库是客观下线了,那么由哪个哨兵进行主从故障转移
少数服从多数机制

哨兵集群:哨兵以多实例组成的集群模式进行部署(最少需要三台机器来部署哨兵集群)。通过多个哨兵节点一起判断,就可以就可以避免单个哨兵因为自身网络状况不好,而误判主节点下线的情况。同时,多个哨兵网络同时不稳定的概率较小,让它们一起决策让误判率降低。

当一个哨兵判断主库为主观下线后就会向其它哨兵发起协商,其它哨兵就会根据自身与主库的网络状况,做出赞成或拒绝投票的响应。

而只有大多数哨兵实例判断主库都已经"主观下线",主库才会被标记"客观下线",——— 即少数服从多数机制
 

【下载】Java面试题、Java八股文、Java涨薪场景题(PDF文档笔记)

当这个哨兵的赞同票数达到哨兵配置文件中的 quorum 配置项设定的值后,这时主节点就会被该哨兵标记为客观下线。

"客观下线":N个哨兵实例,最好要有N/2+1个实例判断主库为"主观下线",才能判断为"客观下线"。

由哪个哨兵进行主从故障转移

为了减少误判概率,所以哨兵是以哨兵集群的方式存在的,以少数服从多数的机制来判断主库是否真的挂了。

那么既然是集群,由哨兵集群中的哪个节点进行主从故障转移呢?

所以这时候,还需要在哨兵集群中选出一个 leader,让 leader 来执行主从切换。

leader是从候选者中产生的,哪个哨兵节点判断主节点为 客观下线 ,这个哨兵节点就是leader的候选者。

假设有三个哨兵。当哨兵 B 先判断到主节点主观下线后,就会给其他实例发送 is-master-down-by-addr 命令。接着,其他哨兵会根据自己和主节点的网络连接情况,做出赞成投票或者拒绝投票的响应。当哨兵 B 收到赞成票数达到哨兵配置文件中的 quorum 配置项设定的值后,就会将主节点标记为 客观下线,此时的哨兵 B 就是一个Leader 的候选者。

判断主库客观下线后只是Leader 的候选者,还不是Leader
由于quorum 配置问题,有可能判断主库客观下线的哨兵有多个。比如有3个哨兵,quorum为2,AB都认为主库主观下线,C认为主库还在线,因此此时哨兵A收到主观下线的值为2,另一个哨兵B收到的主观下线值也为2,由于这两个值都大于等于quorum,因此哨兵A和哨兵B都会将主库标记为客观下线。但不能让哨兵A和哨兵B同时执行主从切换。因此需要从哨兵A和哨兵B中选出一个Leader来执行主从切换

此时Leader候选者会向其他哨兵发送命令,表明希望成为 Leader 来执行主从切换,并让所有其他哨兵对它进行投票。

每个哨兵只有一次投票机会,如果用完后就不能参与投票了,可以投给自己或投给别人,但是只有Leader候选者才能把票投给自己。

那么只要 Leader候选者 同时满足以下两个条件,就可以成为Leader:

  • 拿到半数以上的赞成票;
  • 拿到的票数还要大于等于哨兵配置文件中的 quorum 值。

也就是说,选举的票数大于等于num(sentinel)/2+1时,Leader候选者 将成为 Leader,如果没有超过继续选举

所以,quorum 的值建议设置为哨兵个数的二分之一加1,例如 3 个哨兵就设置 2,5 个哨兵设置为 3,而且哨兵节点的数量应该是奇数

哨兵判断主节点客观下线后,哨兵就要开始在从节点中选出一个从节点来做新主节点

这里大家是不是和我一样有个疑惑?如果三个哨兵同时判断为主观下线,那么就有可能同时判断为客观下线,那么就都是leader候选者了,那么在投票时也都投给了自己,那么leader不就永远选不出来了吗?
首先,哨兵对主从库进行的在线状态检查的操作,是属于一种时间事件,用一个定时器来完成,一般来说每100ms执行一次这些事件。实际上每个哨兵的定时器执行周期都会加上一个小小的随机时间偏移,目的是让每个哨兵执行上述操作的时间能稍微错开些,也是为了避免它们都同时判定主库主观下线。
其次,实际上不同哨兵的网络情况、系统的压力一般不完全一样,接收到主观下线协商消息的时间也就可能不同,所以,它们同时做出主库客观下线判定的概率较小,一般也就有个先后关系。
最后,即使出现了都投给自己一票的情况,导致无法选出Leader,哨兵会停一段时间(一般是故障转移超时时间failover_timeout的2倍),然后再可以进行下一轮投票。

选定新主库

选定新主库是 筛选 ➕ 打分的过程

筛选条件:

首先要把网络状态不好的从节点给过滤掉。首先把已经下线的从节点过滤掉,然后把以往网络连接状态不好的从节点也给过滤掉。

  • 检查从库的当前在线状态,判断他之前的网络连接状态
  • 如果从库总是和主库断连,断连次数超过一定阈值,该从库网络状态不好。

判断方式:
使用配置项down-after-milliseconds*10。down-after-milliseconds是主从节点断连的最大连接超时时间。如果在 down-after-milliseconds 毫秒内,主从节点都没有通过网络联系上,我们就可以认为主从节点断连了。如果这个断连次数超过10次,说明从库网络状态不好,不适合作为新主库。

打分:

优先级、复制进度、ID 号

  1. 第一轮:优先级最高的从节点胜出
    通过配置slave-priority配置项,给不同从库设置不同优先级。比如两个从库内存大小不一样,可以手动设置内存大的实例设置为一个高优先级。选主时候哨兵会选出优先级最高的打高分作为新主库,如果得分一样,那就开始第二轮打分。
  2. 第二轮:和旧主库同步程度最接近的从库得分高
    如果选择与旧主库同步最接近的从库作为主库,那么新主库上就有最新的数据。如果两个从库的slave_repl_offset值大小一样,那么就需要进入第三轮打分了

如何判断从库和旧主库间的同步进度?
从库的slave_repl_offset最接近旧主库的master_repl_offset,那么它的得分最高,可以作为新主库。

  1. 第三轮:ID 号小的从节点胜出
    每个从节点都有一个编号,这个编号就是 ID 号,是用来唯一标识从节点的。

通知

将选举出的从节点解除从节点身份,升级为主节点

在选举出从节点为新主节点后后,哨兵 leader 向被选中的从节点发送 SLAVEOF no one 命令,让这个从节点解除从节点的身份,将其变为新主节点。

将从节点指向新的主节点

哨兵 leader 下一步要做的就是,让已下线主节点属下的所有从节点指向新主节点,这一动作可以通过向从节点发送 SLAVEOF 命令来实现。

通知客户端主节点已经更换

这主要通过 Redis 的发布者/订阅者机制来实现的。每个哨兵节点提供发布者/订阅者机制,客户端可以从哨兵订阅消息。

哨兵提供的消息订阅频道有很多,不同频道包含了主从节点切换过程中的不同关键事件,几个常见的事件如下:

客户端和哨兵建立连接后,客户端会订阅哨兵提供的频道。主从切换完成后,哨兵就会向 +switch-master 频道发布新主节点的 IP 地址和端口的消息,这个时候客户端就可以收到这条信息,然后用这里面的新主节点的 IP 地址和端口进行通信了。

将原主节点变为从节点,指向新的主节点

继续监视旧主节点,当旧主节点重新上线时,哨兵集群就会向它发送 SLAVEOF 命令,让它成为新主节点的从节点

频繁主从切换

由于redis是单线程运行的,如果有命令超过3秒,哨兵心跳检查就会失败,最终导致频繁切换主从和脑裂情况

总结

本文首先介绍了哨兵的作用:监控、选主、通知;主要是实现主从节点故障转移。哨兵集群会监测主节点是否存活,如果发现主节点挂了,它就会选举一个从节点切换为主节点,并且把新主节点的相关信息通知给从节点和客户端。

哨兵机制具体步骤如下:

  1. 第一轮投票:判断主节点客观下线
  2. 第二轮投票:选出哨兵leader,决定由哪个哨兵执行主从切换
  3. 由哨兵 leader 进行选主
  4. 由哨兵 leader 进行通知,实现主从故障转移

在主从复制的基础上,哨兵引入了主节点的自动故障转移,进一步提高了Redis的高可用性;但是哨兵的缺陷同样很明显:哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,这就需要对从节点做额外的监控、切换操作。 此外,哨兵仍然没有解决写操作无法负载均衡、存储能力受到单机限制的问题;这些问题的解决需要使用集群,有时间再学习集群方面的知识~

Redis高可用方案--sentinel(哨兵模式)和集群 redis高可用方案--sentinel(哨兵模式)和集群一. redis高可用方案--sentinel(哨兵模式)哨兵模式简介:sentinel工作过程:关于sentinel的三个定时任务:sentinel网络:sentinel网络故障修复原理:哨兵模式配置二. redis高可用方案--集群redis集群设计:redis集群节点分配和数据分配节点分配redis集群的主从模式redis集群搭建: 一. redis高可用方案–sentinel(哨兵模式) 当我们搭建好redis主从复制方案后会发现一个问题,那 阅读详情

相关推荐

Springboot整合Redis-sentinel哨兵模式集群

Springboot整合Redis-sentinel哨兵模式集群 近日在项目中整合redis缓存,查了好多SpringBoot整合Redis的博客。经过多日研究测试终于成功了。特留博客供查阅。 1. pom.xml 添加Redis依赖 <!-- redis --> <dependency> <groupId&amp

weixin_38998414的博客 1万+

Redis Sentinel

目录 一:什么是redis sentinel 二:哨兵机制下的数据丢失 场景1:master挂掉 场景 2:脑裂情况 三:哨兵机制下数据丢失解决方案 redis数据丢失解决方案 四:哨兵本身的机制和原理 sdown & odown 哨兵本身通讯机制 哨兵和redis集群的通信机制 哨兵集群本身的master选举机制(raft协议) redis集群的master选举机制 思考: redis丢失数据会带来什么问题 Q:使用redis实现的分布式锁还可靠吗? 一:什么是r.

郭冰的博客 1万+

redis-sentinel(哨兵模式)

1、哨兵简介:Redis Sentinel 2、作用 3、工作模式 4、主观下线和客观下线 5、配置哨兵模式

yz2322944912的博客 1957

Redis-Sentinel(哨兵模式),看这篇就够了哦

简介 Sentinel(哨兵) 是redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进行下线时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。然后由新的主服务器代替已下线的主服务器继续处理命令请求。 例如下图所示: 当Server1 掉线后: 升级Server2 为新的主服务器: 启动并初始化Sentinel 启动一个Sentinel可以使用命令: redis-sentin

养歌的博客 1万+

七、Redis高可用(哨兵模式Sentinel)

当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器;Sentinel(哨兵)是Redis的高可用性的解决方案,有一个或多个Sentinel示例组成的Sentinel系统可以监视任意多个主节点,以及这些主节点的从节点,并在被监视的主节点下线时,自动将下线的主节点下的某个从节点升级为新的主节点,然后由新的主节点代替已下线的主节点继续处理命令请求。开启sentinel。

爱吃西红柿的博客 1077

Redis集群:Sentinel哨兵模式讲解

Redis集群:Sentinel哨兵模式讲解 Sentinel: 分布式系统的流量防卫兵

justzcy的博客 873

Redis - 哨兵(Sentinel)

Redis Sentinel 相⽐于主从复制模式是多了若⼲(建议保持奇数)Sentinel节点⽤于实现监控数据节 点,哨兵节点会定期监控所有节点(包含数据节点和其他哨兵节点)。针对主节点故障的情况,故障 转移流程⼤致如下:1)主节点故障,从节点同步连接中断,主从复制停⽌。2)哨兵节点通过定期监控发现主节点出现故障。哨兵节点与其他哨兵节点进⾏协商,达成多数认 同主 节点故障的共识。

ketil27的博客 3825

STM32的DMA模块及Protues仿真实验

(一)DMA简介      DMA(Direct Memory Access,直接存储器访问), 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。      STM32F407共有两个 DMA 控制器,总共有 16 个数据流(每个控制器 8 个),每一个 DMA 控制器都用于管理 一个或多

weixin_45930204的博客 2850

【Redis】Redis高可用之Sentinel哨兵模式详解(Redis专栏启动)

本文深入浅出讲解什么是Redis Sentinel 哨兵模式、哨兵模式架构。剖析Redis Sentinel实现原理,Sentinel领导者节点选举原理,主节点选举原理,最后附Redis接入哨兵模式实战。

小明的Java问道之路 1万+

告别‘报错马拉松’:一份保姆级的Ubuntu 20.04编译OpenWrt 15.05环境配置与问题修复清单

本文提供了一份详细的Ubuntu 20.04编译OpenWrt 15.05的环境配置与问题修复指南,帮助开发者告别‘报错马拉松’。从基础环境搭建到典型报错分类与修复方案,再到高阶问题的深度修复,全面覆盖编译过程中可能遇到的各类问题,并提供自动化补丁脚本和Docker环境固化方案,确保编译过程高效顺畅。

weixin_33230433的博客 297

统信UOS系统盘扩容保姆级教程:用GParten-分区编辑器5分钟搞定

本文提供统信UOS系统盘扩容的详细图形化教程。针对系统盘空间不足问题,重点介绍如何使用系统自带的GParten-分区编辑器,在5-10分钟内安全、直观地完成扩容操作,无需记忆复杂命令,适合所有用户快速解决存储空间告急的困扰。

e3f4g5的博客 645

Redis-Sentinel(哨兵模式)

Redis 哨兵模式是为了保证 Redis 的高可用性而设计的。它通过监控、自动故障转移、通知等功能,确保主节点出现故障时可以快速恢复,避免单点故障带来的服务中断。虽然配置和管理较为复杂,但它是保证 Redis 集群高可用性的关键技术之一。在实际生产环境中,尤其是需要高可用性和稳定性的应用场景下,使用 Redis 哨兵模式可以极大地提高系统的容错能力。

qq_50847694的博客 2701

告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)

本文详细介绍了如何使用Python实现Reed-Solomon纠错码(RS码),帮助开发者有效防止数据丢失。通过基础编解码实战、文件保护方案和高级性能优化技巧,读者可以轻松掌握这一前向纠错技术,应用于物联网、文件存储和网络传输等场景,提升数据可靠性。

weixin_42527160的博客 224

【Redis】高可用架构之哨兵模式 - Sentinel

Redis 主从复制 + 读写分离。为Redis 配置主从模式,可以大幅度提高 Redis 的可用性,减少甚至避免 Redis 服务发生宕机的可能。故障隔离和恢复:无论主节点或者从节点宕机,其他节点依然可以保证服务的正常运行,并可以手动切换主从。读写隔离:Master 节点提供写服务,Slave 节点提供读服务,分摊流量压力,均衡流量的负载。提供高可用保障:主从模式是高可用的最基础版本,也是哨兵模式和 cluster模式实施的前置条件。尽管 Redis 主从模式已经做的足够多了,但其还是存在不小的问题。

迪曼奥特迦-博客 3398

三极管NPN与PNP的工作原理及快速识别技巧

本文深入浅出地解析了三极管NPN与PNP的核心工作原理。通过“水龙头”比喻,阐明其以小电流控制大电流的放大与开关本质。文章重点对比了NPN与PNP在电流方向、电位关系和控制逻辑上的根本区别,并提供了快速识别技巧与实用的选型、应用指南,帮助电子爱好者与工程师快速掌握这两种基础元件的关键知识。

neovim7hacker的博客 456

KVM环境下Tesla T4/v100 vGPU性能调优手册:显存分配策略与帧率限制解除

本文深入探讨了在KVM虚拟化环境中,针对NVIDIA Tesla T4和V100 GPU进行vGPU性能调优的实战策略。核心内容包括如何根据AI训练、科学计算等不同负载,精细规划显存分配策略,并详细介绍了通过修改sysfs参数解除帧率限制器(FRL)以释放硬件潜力的方法,旨在帮助用户实现虚拟化GPU资源的最大化利用。

cuda7parallel的博客 621

Redis哨兵模式(Sentinel)底层实现原理详细介绍

Redis哨兵模式(Sentinel)通过部署多个Sentinel节点来监测主服务器状态,当发现主服务器客观下线时,主动发起领头Sentinel选举,基于Raft算法,选举完成后新的领头Sentinel会对以下线的主服务器进行故障转移,选出一个优先级最高的从服务器作为新的主服务器对外提供服务及更新主从复制同步关系,旧的主服务器在重启后变为当前新的主服务器的从服务器。

学不可以已,活到老,学到老。 1820

如何解决Dify重新部署(升级到最新版)后出现的Setup failed: PermissionDenied等问题

重新部署(升级)Dify后遇到Permission denied错误?🚫 本文详细分析了这个问题的原因🔐,并提供了完整的解决步骤来修复这个问题✨

XiaoqiangClub的博客 1656

Redis 哨兵模式(Sentinel)详解

如果网络分区,部分 Sentinel 可能误判 Master 故障,导致多个 Master 出现。哨兵进程会不断监视主节点(Master)和从节点(Slave)的状态,当。时,会自动将一个从节点提升为新的主节点,并通知其他从节点更新主节点信息。:可以随时增加 Sentinel 进程,提高可靠性。:故障转移后,客户端可继续访问新 Master。下,Master 可能有部分数据。哨兵模式的配置文件通常命名为。:从节点可分担读取压力,实现。:自动检测故障并切换主节点。,可能导致服务中断。

m0_69529796的博客 2655

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 201

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Redis探秘Sentinel(哨兵模式)

Redis的高可用机制有持久化、复制、哨兵和集群。持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。哨兵实现了主从复制中故障的自动化恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。

SevenCoding的博客 1581

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Redis 之六:Redis 的哨兵模式(Sentinel)

Redis 哨兵(Sentinel)模式是一种高可用性解决方案,用于监控和自动故障转移的集群系统。在 Redis Sentinel 架构中,哨兵是一组运行在特殊模式下的 Redis 进程,它们可以监控一个或多个主从复制结构中的 Redis 主服务器以及其他从服务器的状态。sentinel 哨兵模式已经被集成在 redis2.4 之后的版本中,哨兵的核心功能是主节点的自动故障转移。

zp8126的专栏 3024

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

Redis:哨兵模式(Sentinel)原理

1. 前言 Redis主从复制模式不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。Redis哨兵模式就解决了Redis主从复制模式不具备容错和恢复的功能问题。Sentinel(哨兵)进程是用于监控redis集群中Master主服务器工作的状态,在Master主服务器发生故障的时候,可以实现Master和Slave服务器的切换,保...

Master-TJ的个人博客 1969

Redis集群-哨兵模式原理(Sentinel)

哨兵模式是一种特殊的模式,它是 Redis 高可用的一种实现方案。首先哨兵是一个独立的进程, 可以实现对 Redis 实例的监控、通知、自动故障转移。

专业的计算机毕业设计指南 3630

Redis哨兵模式的搭建

Redis哨兵模式是一种用于在Redis主从复制环境中进行高可用性监控和故障恢复的机制。该模式引入了一个或多个哨兵节点,这些节点负责监控Redis服务器的状态,并在主节点发生故障时切换为新的主节点。redis 哨兵模式启动成功后,会自动在sentinel .conf 最下方生成以下配置。启动所有服务器后,查看所有redis 节点状态。新版本redis自带哨兵,不需要单独安装。依次启动所有服务器上的redis 服务。在redis的安装目录下有个文件。修改所有服务器的hosts。,这就是哨兵的配置文件。

莫忘、初心 3700

sentinel哨兵模式详细介绍

sentinel哨兵模式介绍 Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解决方案,sentinel系统可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务下线时,自动将该master下的某个从服务升级为master服务替代已下线的master服务继续处理请求。 sentinel可以让r

wxina 6584
上一篇: 【Redis】一文聊清楚Redis主从复制原理
下一篇: 【Redis】认识Redis集群!
加班不秃顶
博客等级 码龄7年 1822粉丝 599原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值