27.Redis哨兵架构

Redis哨兵高可用架构

Sentinel(哨兵)是一种特殊的 Redis 服务,其主要功能并非提供常规的读写服务,而是专门用于监控 Redis 实例节点。

1.在哨兵架构下,客户端(client 端)首次会从哨兵处找出 Redis 的主节点。

2.客户端便直接访问 Redis 的主节点,并非每次都需通过哨兵代理来访问 Redis 的主节点。

3.当 Redis 的主节点发生变化时,哨兵能够在第一时间感知到这一变化,并且会立即将新的 Redis 主节点通知给客户端(这里需要注意的是,Redis 的客户端一般都实现了订阅功能,用于订阅哨兵发布的节点变动消息)。这样的设计机制确保了 Redis 集群在主节点切换等情况下,客户端能够及时获取最新的主节点信息,从而保证系统的高效运行和数据的一致性。

redis哨兵架构搭建步骤:

cpp 复制代码
1、复制一份sentinel.conf文件
cp sentinel.conf sentinel‐26379.conf
2、将相关配置修改为如下值:
port 26379
daemonize yes
pidfile "/var/run/redis‐sentinel‐26379.pid"
logfile "26379.log"
dir "/usr/local/redis‐5.0.3/data"
# sentinel monitor <master-name><ip><redis-port><quorum>
# quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),
master才算真正失效
sentinel monitor mymaster 192.168.0.60 6379 2

3、启动sentinel哨兵实例
src/redis‐sentinel sentinel‐26379.conf
4、查看sentinel的info信息
src/redis‐cli ‐p 26379
127.0.0.1:26379>info
可以看到Sentinel的info里已经识别出了redis的主从
5、可以自己再配置两个sentinel,端口26380和26381,注意上述配置文件里的对应数字都要修改
相关推荐
我是大猴子10 小时前
redis
数据库·redis·缓存
苏宸啊12 小时前
MySQL(一)
数据库·mysql
2603_9696948513 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
这个DBA有点耶13 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源
数据库·mysql·aigc
Dawson Zhu13 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi
kobe_OKOK_14 小时前
mysql 开启 binlog 日志
数据库·mysql
鸽芷咕15 小时前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
码哥字节15 小时前
Redis 分布式锁的 7 个坑:从 setnx 到 Redlock
redis·分布式锁
这个DBA有点耶15 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范