系列十三、Redis的哨兵机制

一、概述

Sentinel(哨兵)是Redis的高可用解决方案,由一个或者多个Sentinel实例组成集群,可以监视任意多个主服务器,以及这些服务器下属的所有从服务器,并在被监视的主服务器下线或者宕机时,自动得将下线主服务器属下的某个从服务器升级为新的主服务器。简单来说哨兵就是带有自动故障转移功能的主从架构。

二、原理

三、搭建步骤

3.1、创建sentinel目录

bash 复制代码
# 在 / 目录创建sentinel文件夹
mkdir sentinel

3.2、配置哨兵

bash 复制代码
# 在sentinel文件夹创建sentinel.conf文件,内容如下
sentinel monitor 被监控的数据库名字(自己起名字) ip port 哨兵数量
例:sentinel monitor redis_masetr_server 192.168.173.231 6379 1
注意事项:名字绝对不能错

3.3、启动哨兵进行测试

bash 复制代码
./redis-sentinel /sentinel/sentinel.conf
注意事项:启动哨兵模式进行测试时,需保证主从复制架构是可用的

观察日志发现,sentinel的默认端口是26379

3.4、sentinel.conf文件的变化

3.5、测试

3.5.1、主节点set值,从节点get值

3.5.2、关闭主节点(模拟主节点宕机)

关闭主节点,观察哨兵控制台日志信息。注意事项:哨兵默认的选举时间是15s

3.5.3、查询当前7379、8379的角色信息

bash 复制代码
INFO replication

3.5.4、7379 set值,8379 get值测试

3.5.5、结果分析

6379作为master节点宕机后,通过哨兵机制,从原master的slave节点中竞选出了新的节点作为master节点对外提供服务。

3.5.6、原来的master节点恢复正常后,角色是什么

bash 复制代码
# 重新启动6379节点
./redis-server /myconf/master/redis6379.conf

# 客户端连接
./redis-cli -p 6379
相关推荐
骑着王八撵玉兔2 小时前
【性能优化与架构调优(二)】高性能数据库设计与优化
数据库·性能优化·架构
都叫我大帅哥2 小时前
🌊 Redis Stream深度探险:从秒杀系统到面试通关
java·redis
都叫我大帅哥2 小时前
Redis持久化全解析:从健忘症患者到记忆大师的逆袭
java·redis
想要入门的程序猿3 小时前
Qt写入excel
数据库·qt·excel
Q_970956393 小时前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc724093 小时前
Maven
java·数据库·maven
程序猿小D3 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~3 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
野蛮人6号3 小时前
黑马点评系列问题之基础篇p7 06初识redis无法在虚拟机查到图形化界面存进去的键
redis·黑马点评
CodeWithMe4 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存