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,注意上述配置文件里的对应数字都要修改
相关推荐
郑州光合科技余经理38 分钟前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php
耀耀_很无聊41 分钟前
12_Redis Lua 脚本踩坑:为什么 tonumber(ARGV[x]) 会得到 nil?
java·redis·lua
阿昭L42 分钟前
数据库期末复习(三)
数据库
Dlrb12111 小时前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
不会写DN1 小时前
MySQL 并发插入竞态问题:原子写入实践指南
数据库·mysql
霖霖总总1 小时前
[MongoDB小技巧24]MongoDB $lookup 聚合阶段深度解析:从入门到实战
数据库·mongodb
挨踢诗人1 小时前
京东企业购 × 企业微信 采购闭环集成解决方案
前端·数据库·企业微信
想你依然心痛1 小时前
AUTOSAR Classic Platform架构解析:BSW、RTE与ASW——分层、配置、代码生成
java·架构·实时互动
梦想的旅途21 小时前
企业微信外部群智能自动回复:基于RPA接口的关键词匹配方案
java·开发语言·数据库·机器人·自动化·企业微信
江华森2 小时前
【玩转 AtomCode】源码编译与架构解析:深入理解开源 AI 编码代理的内核设计
架构·开源