redis 笔记2之哨兵

文章目录

  • 一、哨兵
    • [1.1 简介](#1.1 简介)
    • [1.2 实操](#1.2 实操)
      • [1.2.1 sentinel.conf](#1.2.1 sentinel.conf)
      • [1.2.2 问题](#1.2.2 问题)
      • [1.2.3 哨兵执行流程和选举原理](#1.2.3 哨兵执行流程和选举原理)
      • [1.2.4 使用建议](#1.2.4 使用建议)

一、哨兵

1.1 简介

上篇说了复制,有个缺点就是主机宕机之后,从机只会原地待命,并不能升级为主机,这就不能保证对外服务了,所以出现了哨兵,来监控主机和从机的状态。

1.2 实操

前提说明:

1.2.1 sentinel.conf

参数:

重点:
其他:

客观下线

其中一台哨兵的重要配置参数编写

哨兵会监控主机和其他从机以及其他主机,我们只配置了主机ip和端口,但是会通过内容传递获得主机下的从机以及监控此主机的其他哨兵。

添加了哨兵之后,主机上的redis.conf也要配置密码masterauth,防止主机宕机,变成从机之后,也需要去拜新的主机。

1.2.2 问题

主机宕机,哨兵会从从机中投票选举出新的主机,并且两台从机的数据依然存在。

如果之前宕机的主机重启回来,被选举出来的master不会变,而老的master会变成slave。

由于我们切换了主机,所以对应的文件内容也要进行更改。

比如哨兵,它监控的主机名ip端口就会发生变化。

原来的主机重启之后 由于变成了从机 所以需要隶属关系,哨兵自动帮我们加入。

而重新变成master的从机,由于不在依附别的机器,所以原来的replicaof 自动被消除了。

1.2.3 哨兵执行流程和选举原理


主观下线:

哨兵的配置文件中有默认时间,如果在规定时间内,主机没有回应,当前哨兵就会判断该主机宕机了。
客观下线:

但是,一个哨兵判断主机宕机并不可靠,因为可能网络会有延迟,所以需要所有哨兵来投票,就是我们上述配置文件中的参数,当超过该参数为就确定该主机确实宕机了。
选举出领导者哨兵

哨兵有多个,如果每个哨兵都有话语权去选举新的主机,就会造成混乱,所以需要先找出一个兵王。由该兵王来进行选举和后续故障迁移操作(比如给新的主机发送信息,以及给其他从机发送需要依附于新的主机命令)。

兵王选举出一个新的master并进行后续故障迁移

选举规则

先看配置文件中的参数,数值越小,优先级越高,然后看谁复制原来主机的数据多,最后看谁的id小。

1.2.4 使用建议

哨兵+主从复制并不能达到数据零丢失。

相关推荐
2501_941805931 天前
在大阪智能零售场景中构建支付实时处理与高并发顾客行为分析平台的工程设计实践经验分享
数据库
李慕婉学姐1 天前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
珠海西格电力1 天前
零碳园区有哪些政策支持?
大数据·数据库·人工智能·物联网·能源
孙严Pay1 天前
快捷支付:高效安全的在线支付新选择
笔记·科技·计算机网络·其他·微信
じ☆冷颜〃1 天前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
数据大魔方1 天前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
Chasing Aurora1 天前
数据库连接+查询优化
数据库·sql·mysql·prompt·约束
倔强的石头_1 天前
【金仓数据库】ksql 指南(六)—— 创建与管理用户和权限(KingbaseES 安全控制核心)
数据库
数据皮皮侠AI1 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
奋进的芋圆1 天前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq