搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
繁依Fanyi0
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
使用netlify实现自动化部署前端项目(无服务器版本)
2
小记安装ElasticSearch遇到的小坑
3
从零开始,SpringBoot搭建WebSocket_springboot创建websocket
4
动手学深度学习——循环神经网络(原理解释与代码详解)
5
【Python机器学习】零基础掌握DecisionTreeClassifier决策树
6
高光谱遥感数值建模技术及在植被、水体、土壤信息提取领域应用_利用光学遥感数据能实现对地表的植被、土壤、水域、建筑物等信息进行提取,但光学
7
Linux命令之 echo 详解
8
笔记-《A Survey of Large Language Models》- 尾声
9
小程序预加载数据实战_getbackgroundfetchdata
10
vue-cli5.x 集成 cesium_vue5 cli集成cesium
当前位置:
article
> 正文
Redis的哨兵模式
作者:繁依Fanyi0 | 2024-06-10 16:51:37
赞
踩
Redis的哨兵模式
什么是哨兵模式
Redis的哨兵模式(
Sentinel mode
)是⼀个
⾼可⽤解决⽅案
,当运⾏多个
Redis
实例并且需要⾃动故障转移时,哨兵模式⾮常有⽤。
在⼀个典型的哨兵模式下,⾄少需要3
个哨兵实例来避免
“
脑裂
”
(⽹络分裂导致多个主服务器同时存在)。哨兵们会通过投票来决定主服务器是否已经下线,以及选择哪个从服务器升级为新的主服务器。
哨兵模式的实现是
基于发布
-
订阅模式
的,每个哨兵节点都会订阅其它哨兵节点的信息,这样当主服务器出现故障时,哨兵节点可以及时进⾏⼴播,实现快速故障转移。
哨兵模式主要有三个⽬标:
监控
:哨兵模式会不断地检查主服务器和从服务器是否按预期⼯作。
通知
:如果某些
Redis
实例有故障,哨兵模式可以通过
API
向管理员或者其他应⽤程序发送通知。
⾃动故障转移
:如果主服务器⽆法正常⼯作,哨兵模式可以开始⼀个故障转移过程,由⼀个从服务器升级为新的主服务器,并让其他从服务器改变他们的主服务器为新的主服务器。
哨兵模式的特点:
哨兵模式⾃动转移失败的主服务器到⼀个从服务器。
哨兵模式持续监控所有
Redis
服务器,以便在需要时报告错误。
通过提供⼀个基于哨兵的
API
,客户端可以⾃动发现新的主服务器地址。
哨兵模式的判断下线过程:
Sentinel
(哨兵)时基于⼼跳机制检测服务状态的,每隔
1
秒向每隔实例发送⼀个ping命令,如果某个
sentinel
发现某
Redis
实例未在规定时间内响应,则认为该实例
主观下线
,若超过指定数量(
quorum
)的
sentinel
都认为该实例
主观下线
,则该实例
客观下线
。
quorum
的值最好超过
Sentinel
实例数的⼀半
如果此时主服务器宕机,哨兵
1
检测到了,系统并不会⽴即进⾏
failover
(故障转移)过程
此时仅仅是哨兵
1
主管的认为主服务不可⽤,此现象为
主观下线
当后续的哨兵也检测到主服务器不可⽤时,并且数量达指定数量时
哨兵之间就会进⾏⼀次投票,投票结果由
1
个哨兵发起,进⾏
failover
操作
切换成功之后,就会通过发布订阅模式,让各个哨兵把⾃⼰监控的从服务器切换主机,这个过程为
客观下线
哨兵模式的选举过程:
⼀旦发现
master
故障,
sentinel
需要在
salve
中选择⼀个作为新的
master
⾸先会判断
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
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/699604
推荐阅读
article
docker
-
compose
部署
redis
集群
以及
redis
集群
监控
和故障转移
解决方案
_
docker
...
要搭建Redis
集群
,以下是一种常见的方案:下载和安装Redis:首先,从Redis官方网站下载并安装Redis。你可以...
赞
踩
article
推荐
开源
项目
:
redis
-
commander
...
推荐
开源
项目
:
redis
-
commander
Redis Commander 是一个基于 Node.js 的命令行工具,用...
赞
踩
article
高效
数据
处理
的前沿:【
C++
】、【
Redis
】、【
人工智能
】与【大
数据
】的深度整合...
C++
、
人工智能
、
Redis
和大
数据
已经成为不可或缺的技术元素。
C++
以其高性能和灵活性著称,广泛应用于系统编程和高性能...
赞
踩
article
go
lang
常用库之-操作
redis
go
-
redis
/
redis
库、
go
-
redsync
/red...
go
lang
常用库之-操作
redis
go
-
redis
库
redsync
是
redis
官方推荐的
go
版本
分布式
锁实现,标准的...
赞
踩
article
golang
redis
cluster
操作_
golang
luascript
.run...
1 创建客户端func NewClient(
redis
_conf string) *
redis
.ClusterClien...
赞
踩
article
互联网大厂精选
Java
面试
真题集锦(JVM、多线程、MQ、
MyBatis
、
MySQL
、
Redis
、微...
近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂
面试
的小捷径,准备了一整套
Java
复习
面试
的刷题以及答案,我知...
赞
踩
article
【
进阶篇
】2.15
Redis
高
可用
集群
(
Redis
Cluster
)详解_
redis
集群
高
可用
...
前面两个章节我们学习关于
Redis
中的
高
可用
Redis
主从复制. 以及
Redis
的哨兵模式(sentinel)。我们...
赞
踩
article
换掉ES!
Redis
官方
搜索引擎
来了,性能炸裂!_
es
redis
ft
...
RediSearch是一个
Redis
模块,为
Redis
提供查询、二次索引和全文搜索。要使用RediSearch,首先要在...
赞
踩
article
Redis
、
Elasticsearch
(ES)、
RocketMQ
和
MYSql
持久化对比_redis...
本文将针对
Redis
、
Elasticsearch
(ES)、
RocketMQ
和
MYSql
这四种常见的数据存储和消息队...
赞
踩
article
Redis
7.2
.x 主从复制...
搭建
Redis
7.2
.x 主从复制,一主一从
Redis
7.2
.x 主从复制 IP操作系统服...
赞
踩
article
【黑马
程序员
】
Redis
学习笔记
001
:
Redis
简介+五种基本
数据类型
_黑马
程序员
redis
...
即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。应用对于海量用户和海量数据前提吓得数据处理问题...
赞
踩
article
黑马
程序员
Redis
学习笔记
--
Redis
实战篇_
黑马
程序员
redis
...
短信登录这部分会使用
Redis
共享session来实现但其实我在之前的瑞吉外卖的项目优化部分就做过了,用
Redis
替换s...
赞
踩
article
Redis
笔记
(
黑马
点评
—
—
基础篇 +
实战篇
)_
黑马
点评
笔记
...
Redis
笔记
(
黑马
点评
—
—
基础篇 +
实战篇
)_
黑马
点评
笔记
黑马
点评
笔记
...
赞
踩
article
Elasticsearch
:使用
Redis
让
Elasticsearch
更快_redissea...
Elasticsearch
是一个强大的搜索引擎,可让你快速轻松地搜索大量数据。但是,随着数据量的增长,响应时间可能会变...
赞
踩
article
redis
-
消息
订阅
与
发布
_
redis
发布
订阅
...
(笔记来自黑马&传智播客视频)1.
订阅
频道subscribe channel 例如:
订阅
my1subscribe...
赞
踩
article
黑马
点评
【
Redis
】_
黑马
点评
redis
...
简单记录一下
黑马
点评
_
黑马
点评
redis
黑马
点评
redis
...
赞
踩
article
redis
集群
底层
原理以及实操_
redis
集群
集群
的
底层
实现...
redis
集群
_
redis
集群
集群
的
底层
实现
redis
集群
集群
的
底层
实现 前言 上篇我们讲解了...
赞
踩
article
Redis
Cluster
集群
的
实现
原理_
cluster
底层怎么
实现
的
...
在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官
的
心理,摸清面试...
赞
踩
article
[
Redis
]
Zset
类型...
介绍
Redis
中
Zset
类型的基本命令、内部编码、使用场景[
Redis
]
Zset
类型
Zset
有...
赞
踩
article
redis
cluster
集群原理总结和搭建笔记_
gossip
172.30.94.5:
7002
@1...
原理简述 公司有些项目会用到
redis
,但是目前大多数也只是单机玩玩,基本上和demo级别的使用差不多。所以我一般都是使...
赞
踩
相关标签
docker
redis
c++
人工智能
大数据
前沿技术
golang
分布式
lua
java
面试
jvm
数据库
缓存
后端
搜索引擎
elasticsearch
php
mysql
rocketmq
系统架构
python
架构
百度