哨兵-工作原理(1)|学习笔记

简介: 快速学习哨兵-工作原理(1)

开发者学堂课程【Redis 入门到精通(进阶篇):哨兵-工作原理(1)】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/765/detail/13463


哨兵-工作原理(1)

 

内容介绍

一、主从切换

二、阶段一:监控阶段

三、工作顺序

 

一、主从切换

哨兵在进行主从切换过程中经历三个阶段

监控

通知

故障转移

 

二、阶段一:监控阶段

用于同步各个节点的状态信息

1. 当哨兵启动后首先要获取各个 sentinel 的状态(是否在线),在这个过程中他是依靠 ping 的指令来完成的。

2. 获取 master 的状态, master 信息获取时带有非常大的信息量,通过 info 获取。获取到的 master 信息包括 master 主信息和各个 slave 信息。

3. 获取所有 slave 的状态(根据 master 中的 slave 信息), salve 信息包括你的 id 、你的角色等。

image.png

三、工作顺序

1. 首先哨兵要获取信息要先连接 master ,连接上之后会发送 info 指令,拿到 info 指令后, master 会知道当前的状况。

2. 为了方便后期 sentinel 与 master 之间进行命令的交换,所以 sentinel 与 master 建立了一个连接,这个连接叫做 cmd 连接,用于发送命令。在这个过程中他保存了所有的哨兵状态,在哨兵端记录了所有的哨兵状态,同时在 master 他记录了 SentinelRedisInstance 对应的信息。

3. 在得到 SentinelRedisInstance 对应的信息后通过 info 指令连接每一个 slave 。

4. 在这时下一个 sentinel 通过 info 指令与 master 连接,在连接时他会发先已经有对应的 sentinel 连接,他也会创建一个 cmd 连接,在同样的过程中他会创建拥有两个 sentinel 接连信息的 SentinelState 信息。为了保证两个 sentinel 信息的 SentinelState 信息时同步,在他们之间建立了一个桥梁来发布订阅,为了保证他们的信息长期对称他们会护发命令确保对方存在。

5. 在再次接入一个 sentinel 之后他会重复上述步骤,除此之外他会与其他 sentinel 之间进行互联由此形成一个小型网络用来交换信息。

image.png

相关文章
|
前端开发
解决el-descriptions的label-class-name不生效问题
解决el-descriptions的label-class-name不生效问题
1770 0
|
安全 前端开发 Java
SpringBoot接口如何设计防篡改、防重放攻击
Spring Boot 防篡改、防重放攻击本示例主要内容请求参数防止篡改攻击基于timestamp方案,防止重放攻击使用swagger接口文档自动生成API接口设计API接口由于需要供第三方服务调用,所以必须暴露到外网,并提供了具体请求地址和请求参数,为了防止被别有用心之人获取到真实请求参数后再次发起请求获取信息,需要采取很多安全机制。
4617 0
|
机器学习/深度学习 人工智能 云计算
2023年中国算力大会,阿里云荣获三项荣誉!
2023年中国算力大会,阿里云荣获三项荣誉!
2023年中国算力大会,阿里云荣获三项荣誉!
|
4月前
|
人工智能 自然语言处理 安全
如何让 AI 工具更懂你,更听话?
你是否也曾被AI“气到吐血”?明明说的是A,AI却给了B?别沮丧,2025年的AI也需要“正确沟通”。本文教你五大提示技巧:动态提示、多模态输入、Few-shot示例、任务分解与安全边界,让AI从“人工智障”变身“贴心助手”。学会“说AI的语言”,释放创造力,提升效率,开启智能生活新时代!
1357 0
|
JSON 负载均衡 算法
SpringCloud-Feign解决模块之间的远程调用
SpringCloud-Feign解决模块之间的远程调用
|
PyTorch TensorFlow API
大模型中 .safetensors 文件、.ckpt文件、.gguf和.pth以及.bin文件区别、加载和保存以及转换方式
本文讨论了大模型中不同文件格式如`.safetensors`、`.ckpt`、`.gguf`、`.pth`和`.bin`的区别、用途以及如何在TensorFlow、PyTorch和ONNX等框架之间进行加载、保存和转换。
4559 2
|
XML 监控 Dubbo
Dubbo怎么配置监控中心
**摘要:** 本文介绍了如何配置Dubbo的简单监控中心。首先,通过添加`<dubbo:monitor protocol="registry" />`到配置文件启用监控。接着,修改`dubbo.properties`设置Zookeeper地址。启动监控中心,服务提供者和消费者需添加`monitorEnabled="true"`以开启监控功能。配置完成后,监控中心的Web界面能展示服务状态和性能指标,助力开发者和运维人员实时监控服务健康。
332 0
|
消息中间件 关系型数据库 MySQL
[flink 实时流基础] 输出算子(Sink)
[flink 实时流基础] 输出算子(Sink)
872 1
|
存储 Java 数据安全/隐私保护
什么是编码和解码
什么是编码和解码
1107 0
|
Java 应用服务中间件 Apache
什么是tomcat?tomcat是干什么用的?
Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态Web应用程序。Tomcat的全名是Apache Tomcat。
1371 4