【Redis二三事】一文了解Redis的哨兵机制

本文详细介绍了Redis的哨兵机制,包括哨兵如何监控、通知和进行故障转移,以及在主从切换过程中的操作。通过模拟主服务器宕机,展示了哨兵如何选举新的master。此外,还分享了个人的Java开发经验和学习资源。
摘要由CSDN通过智能技术生成
  • 断开与master与slave连接。选举一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址

  • 注意

  • 哨兵也是一台redis服务器,只是不提供数据服务

  • 通常哨兵配置数量为单数

⭐️1.1 启用哨兵模式

==========================================================================

  • 配置一拖二的主从结构

  • 配置三个哨兵(配置不同,接口不同)

  • 参看sentinel.conf

  • 启动哨兵

  • redis-sentinel sentinel-端口号.conf

我们新建3个哨兵,1个主服务器,2个从服务器

⭐️1.1.1.修改哨兵配置并创建3个哨兵

===================================================================================

进入redis目录下的sentinel.conf文件中

在这里插入图片描述

我们在配置之前先来看看哨兵文件中各个配置的含义

在这里插入图片描述

将配置文件转移到conf目录下进行操作

在这里插入图片描述

cat sentinel.conf | grep -v “#” | grep -v “^$” > ./conf/sentinel-26379.conf

在这里插入图片描述

对配置文件进行修改

在这里插入图片描述

修改dir配置信息,将哨兵文件的信息声称在data目录下

将当前哨兵文件复制2份,创建26380与26381端口的哨兵文件

在这里插入图片描述

⭐️1.1.2 搭建主从服务器

=============================================================================

在上一篇文章中我们详细介绍了祝贺搭建主从服务器,不明白的小伙伴可以看这篇博文

【Redis二三事】一把LOL的时间让你了解Redis的主从复制机制(超详细步骤图解)

我们6379为主服务器,6380和6381为从服务器

三个哨兵,1台主服务器,2台从服务器构建完毕

在这里插入图片描述

启动主服务器与两台从服务器,启动三台哨兵

启动哨兵命令

redis-sentinel <哨兵配置文件名称>

在这里插入图片描述

可以看到当我们启动最后一台哨兵的时候日志信息显示已经检测到了6379主服务器与6380,6381从服务器以及26379,

26380哨兵

在这里插入图片描述

接下来我们使主服务器6379宕机(模拟的话CTRL+C停掉就可以了),查看哨兵是否选举其他服务器作为master

等待30秒(我们在配置文件中设置的为30秒

查看哨兵的日志信息变化

在这里插入图片描述

⭐️2 哨兵工作原理

========================================================================

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

  • 监控

  • 通知

  • 故障转移

⭐️2.1 阶段一:监控阶段

============================================================================

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

  • 获取各个sentine的状态(是否在线),这期间是利用ping命令完成的

  • 获取master的状态

  • master属性

  • runid

  • role:master

  • 各个slave的详细信息

  • 获取所有slave的状态(根据master中的slave信息)

  • slave属性

  • runid

  • role:slave

  • master_host、master_port

  • offset

在这里插入图片描述

  • 实际sentinel中信息的获取都是通过master来获取的,第一个sentinel先向master发送info指令并建立cmd连接专门用来发命令,与此同时获取到了其他哨兵的状态以及其他从属服务器的信息,然后根据获取到的slave信息去连接每一个slave,第二个sentinel同样也会发命令连接master同时获取到了其他与master有关哨兵的信息,并与其他哨兵发布订阅,以保证与其他哨兵信息同步,第三个第四个哨兵进来同样是这样

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。蚂蚁的工作环境还是挺赞的,因为我面的是稳定性保障部门,还有许多单独的小组,什么三年1班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。


经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
,除了基础还问了不少架构设计方面的问题,收获还是挺大的。


经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

[外链图片转存中…(img-Z4R8kPn0-1712254661551)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值