当前位置: 首页 > news >正文

redis 笔记2之哨兵

文章目录

  • 一、哨兵
    • 1.1 简介
    • 1.2 实操
      • 1.2.1 sentinel.conf
      • 1.2.2 问题
      • 1.2.3 哨兵执行流程和选举原理
      • 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 使用建议

哨兵+主从复制并不能达到数据零丢失。
在这里插入图片描述

http://www.lryc.cn/news/374045.html

相关文章:

  • LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
  • Mybatis做批量操作
  • Python | 中心极限定理介绍及实现
  • 探索Napier:Kotlin Multiplatform的日志记录库
  • MySQL基础——SQL语句
  • 比特币通用API服务
  • Spock mock私有方法
  • 网络协议四
  • 大数据入门实践一:mac安装Hadoop,Hbase,FLume
  • openGauss 6.0.0 一主二备集群安装及使用zcbus实现Oracle到openGauss的数据同步
  • 0118__C语言——float.h文件
  • settings和toolchains.xml 区别用法配置
  • leetcode打卡#day43 携带研究材料(第六期模拟笔试)、416. 分割等和子集
  • MPLS的配置
  • 【机器学习】机器学习与教育科技在个性化教学中的融合应用与性能优化新探索
  • C++:十大排序
  • Python武器库开发-武器库篇之Mongodb未授权漏洞扫描器(五十六)
  • 【论文速读,找找启发点】2024/6/16
  • canal监控mysql变化
  • MySQLWorkbench导出sql文件
  • 不一样的SYSTEM APP(SYSTEM flag和system_prop区别)
  • C++ 和 JAVA 位运算符
  • 项目进度和成本管理
  • Dorkish:一款针对OSINT和网络侦查任务的Chrome扩展
  • 树莓派4B_OpenCv学习笔记10:调整视频帧大小
  • MySQL 保姆级教程(五):数据过滤
  • 《全职猎人》
  • Linux各目录的作用
  • Windows Docker Desktop 安装 postgres
  • C# OpenCvSharp Mat操作-创建Mat-构造函数