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,注意上述配置文件里的对应数字都要修改
相关推荐
段一凡-华北理工大学6 分钟前
工业领域的Hadoop架构学习~系列文章18:制造业Hadoop应用实践 - 从数据到智能的完整闭环
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
Wonderful U6 分钟前
Python+Django实战:打造智能生鲜果蔬进销存管理系统(采购入库、库存预警、销售开单、毛利统计)
数据库·python·django
贵慜_Derek9 分钟前
《从零实现 Agent 系统》连载 20|MCP 与 Code Execution:协议、档位与 Sidecar
人工智能·设计模式·架构
Demon1_Coder11 分钟前
Day4-微服务-Seata默认事务
java·数据库·微服务
我是大猴子16 分钟前
Redis为什么不适合做持久化和DB的区别在哪里
数据库·redis·缓存
Sunia16 分钟前
《AgentX 专栏》08-工作流引擎:AgentWorkflow怎么把工具记忆流程串成一条流水线
java·架构
huipeng92618 分钟前
企业级微服务开发实战(二):微服务基础设施搭建与中间件部署
java·redis·mysql·spring cloud·微服务·nacos·rabbitmq
mN9B2uk1719 分钟前
数据库锁总结
数据库·oracle
pe7er20 分钟前
AI为啥会写出if(obj != null && obj.ifEnabled)这样的代码
前端·后端·架构
闪电悠米25 分钟前
黑马点评-秒杀优化-04_lua_and_db_fallback
服务器·开发语言·网络·数据库·缓存·junit·lua