我就是奇迹

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Redis 哨兵模式

 

在 Redis 哨兵模式中,哨兵进程(Sentinel)是否可以和主节点或从节点部署在同一台服务器上?

 


 

 

✅ 答案是:

可以共享服务器,但生产中推荐分开部署。

 

 

下面我们来分场景说明:

 


 

 

✅ 一、

共享部署(开发/小型项目)

 

 

在小规模环境中,你完全可以这样部署:

角色

IP 地址

Redis Master + Sentinel

192.168.1.10

Redis Slave1 + Sentinel

192.168.1.11

Redis Slave2 + Sentinel

192.168.1.12

🧠 即:每台机器上既运行 Redis 实例,也运行一个 Sentinel 进程

 

✔ 优点:

 

  • 节省机器

  • 易于部署和维护

 

 

❗ 缺点:

 

  • 故障域重叠:当某台服务器挂了,Redis 和 Sentinel 都挂了,故障感知能力下降

 

 


 

 

✅ 二、

分布式部署(推荐的生产架构)

 

角色

IP 地址

Redis Master

192.168.1.10

Redis Slave1

192.168.1.11

Redis Slave2

192.168.1.12

Sentinel1

192.168.1.20

Sentinel2

192.168.1.21

Sentinel3

192.168.1.22

📌 Sentinel 单独部署在独立服务器或独立容器中,只负责监控与投票选主

 

✔ 优点:

 

  • 监控更加独立可靠

  • 高可用能力更强

  • 故障感知不受 Redis 节点本身影响

 

 


 

 

✅ 实际推荐结构(也可适当混合)

 

服务器

Redis 实例

Sentinel 实例

建议

A

Master

Sentinel 1

✅ 合理

B

Slave 1

Sentinel 2

✅ 合理

C

Slave 2

Sentinel 3

✅ 合理

服务器

Redis 实例

Sentinel 实例

建议

D

Sentinel 1

✅ 最安全(哨兵独立)

 

 


 

 

✅ 小结:部署建议

 

场景

是否建议哨兵和 Redis 共机?

原因

本地测试 / 小项目

✅ 可以

节省资源

生产系统

⚠️ 不推荐(尽量分离)

避免单点故障影响感知能力

posted on 2025-05-08 13:50  我就是奇迹  阅读(24)  评论(0)    收藏  举报