哨兵简介

主机”宕机“后我们要做的事情

  • 将宕机的master下线
  • 找一个slave作为master
  • 通知所有的slave连接新的master
  • 启动新的master与slave
  • 全量复制*N+部分复制 *N

但是这伴随着以下问题

  • 谁来确认master宕机了
  • 找一个主?怎么找法
  • 修改配置后,原始的主恢复了怎么办?

哨兵
哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master

哨兵的作用

  • 监控
    不断地检查master和slave是否正常运行
    master存活检测、master与slave运行情况检测
  • 通知(提醒)
    当被监控地服务器出现问题时,向其他(哨兵间,客户端)发送通知
  • 自动故障转移
    断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址

注意:哨兵也是一台redis服务器,只是不提供数据服务,通常哨兵配置数量为单数

启用哨兵模式
  • 配置一拖二的主从结构
  • 配置三个哨兵(配置相同,端口不同)
    查看sentinel.conf
  • 启动哨兵

redis-sentinel sentinel-端口号.conf

哨兵工作原理

主从切换

  • 哨兵在进行主从切换过程中经历三个阶段
  1. 监控
  2. 通知
  3. 故障转移

阶段一:监控阶段
sentinel会向master要状态,然后根据master中的slave信息向slave要状态,也会向其他的sentinel要状态,而且,sentinel之间会组建一个对应的频道,在里面发布信息、订阅信息、收信息、同步信息。这就是监控阶段的工作过程。


阶段二:通知阶段
维护一个长期的信息对等阶段。sentinel侦听master、slave的状态,并在sentinel之间交互,维护信息对等。
阶段三:故障转移阶段
只有一个sentinel侦测到一个master挂了时,将其状态记为S_DOWN(主观下线),然后,将该主机挂了的消息在sentinel内网中交互,然后,其他的sentinel得到该消息,就也去看该主机是否真的挂了,如果超过半数的sentinel认为master挂了,那就是真的挂了(客观下线 ),状态记为O_DOWN。一旦进入客观下线状态,就开始清理队伍。
选择领头哨兵

处置阶段


总结:

  • 监控 ——》同步信息
  • 通知——》保持联通
  • 故障转移
    发现问题-》竞选负责人-》优选新master-》新master上任,其他slave切换master,原master作为slave故障回复后连接

【Redis】16.Redis哨兵相关推荐

  1. Redis(16) -- Redis集群

    Redis6 12.1)存在问题 容量不够,redis如何进行扩容? 并发写操作, redis如何分摊? 另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机 ...

  2. 【带你重拾Redis】Redis 哨兵集群实现高可用

    Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 Redis 集群架构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 Redis master 和 sla ...

  3. redis 系列25 哨兵Sentinel (高可用演示 下)

    原文:redis 系列25 哨兵Sentinel (高可用演示 下) 一. Sentinel 高可用环境准备 1.1 Sentinel 集群环境 环境 说明 操作系统版本 CentOS  7.4.17 ...

  4. redis logfile 只读_docker 配置redis主从,哨兵sentinel

    注释:docker自行安装,主从使用一主两从,然后使用sentinel进行高可用配置,当主服务器挂掉,从服务器自动升为主服务器. 主从模式介绍 主从模式是三种模式中最简单的,在主从复制中,数据库分为两 ...

  5. Redis主从复制、哨兵、Cluster安装部署

    文章目录 1.主从复制(Replication) 1.1.部署主从复制 1.1.1.环境说明 1.1.2.安装步骤 1.2.配置主从 1.3.主从复制优缺点 2.哨兵(Sentinel) 2.1.部署 ...

  6. Redis主从、哨兵、 Cluster集群一锅端!

    天跟小伙伴们一起学习Redis的主从.哨兵.Redis Cluster集群. Redis主从 Redis哨兵 Redis Cluster集群 1. Redis 主从 面试官经常会问到Redis的高可用 ...

  7. 一篇教会你,Redis主从、哨兵、 Cluster集群。

    前言 大家好,今天跟小伙伴们一起学习Redis的主从.哨兵.Redis Cluster集群. Redis主从 Redis哨兵 Redis Cluster集群 1. Redis 主从 面试官经常会问到R ...

  8. mysql哨兵模式_3台服务器Redis高可用哨兵模式实现

    1. 介绍 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主 ...

  9. 3台服务器Redis高可用哨兵模式

    3台服务器Redis高可用哨兵模式 @(学习)[redis, 高可用] 3台服务器Redis高可用哨兵模式 介绍 redis程序安装 哨兵模式配置 1 主redis配置 2 从redis配置 3 启动 ...

  10. Redis集群-哨兵模式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/liuzhixiong_521/article/details/84797609 文章目录 概述    ...

最新文章

  1. 国贫县山西永和:“一揽子”保险“保”脱贫
  2. Kafka面试题及答案整理 110道 (持续更新)
  3. Python | 除法
  4. OpenKruise v0.7.0发布:增加周期任务分发控制器
  5. typescript 怎么表示当前时间减一个月_TypeScript 入门知识点总结
  6. 专业软件 —— 硬件评测
  7. 【总结】 Lucas定理
  8. centos7黑客帝国装逼
  9. SpringBoot非官方教程 | 终章:文章汇总
  10. python zemax_python的用途和优点
  11. 计算机鼠标能用键盘不能用,电脑键盘鼠标都不能用了,怎么回事?
  12. c++ 秋招总结 字节跳动
  13. iOS9 未受信任的企业级开发者
  14. 【我们一起写框架】MVVM的WPF框架(五)—完结篇
  15. 当前佛教界的乱相之一就是以凡滥圣、惑乱人心
  16. grpc istio_在皮质数据湖中使用grpc envoy和istio进行大规模数据摄取
  17. python实现杨辉三角思路_Python极简代码实现杨辉三角示例代码
  18. 取消SVN感叹号即去除版本库
  19. 管理口安装服务器操作系统,管理口安装服务器操作系统
  20. android 杀死程序收不到推送_Android收不到推送解决方案

热门文章

  1. 验证整数 Double 转 int 两种写法
  2. java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
  3. xml节点的添加和删除
  4. Shiro缓存使用Redis、Ehcache、自带的MpCache实现的三种方式实例
  5. LeetCode 1004.最长连续1的个数
  6. (4)pyspark---dataframe清理
  7. socket多线程方式案例
  8. 做红颜知己就要恪守界限
  9. AJPFX实例集合嵌套之ArrayList嵌套ArrayList
  10. 缓存中常见的概念及解决方案