Redis 的哨兵模式为什么还有人用?

2020 年 8 月 7 日
 zero47

Redis 的高可用方案有两种,哨兵和集群。

个人浅薄理解,哨兵模式就是创建一个备胎,备胎同步 master 数据,在 master 出现异常的时候进行切换。

而集群则是创建一个 slave,slave 同步 master 数据,可用于客户端读取,在 master 出现异常的时候进行选举切换为 master 。集群模式要求最少 3 个 master 节点,master 节点间分槽管理数据。

在正常情况下,哨兵就是个吃白饭的,没有任何作用,而集群的 slave 则参与读操作。

怎么看都是集群完胜啊,为啥还有人在坚持维护哨兵模式呢(比如 helm 的 redis-ha)?

18742 次点击
所在节点    Redis
79 条回复
Yooloo
2020 年 8 月 7 日
redis 小白占坑
Ariver
2020 年 8 月 7 日
cluster 是怎么实现高可用的?
edk24
2020 年 8 月 7 日
redis 小白占坑 坐等大佬讲解
hello321
2020 年 8 月 7 日
坐等大佬讲解
wangyanrui
2020 年 8 月 7 日
一脸懵逼??
哨兵是哨兵,集群是集群。
哨兵是找一个人,专门看管这群人
集群是一个人干不完活,多找几个人干活的

感觉楼主都没有明白这两个模式的字面意思啊
misaka19000
2020 年 8 月 7 日
因为低版本不支持集群
misaka19000
2020 年 8 月 7 日
哨兵模式的 slave 也可以读数据的
monsterxx03
2020 年 8 月 7 日
Cluster 要求客户端实现 smart client,以前基于单机 redis 的应用不一定好迁移,比如 celery 的 redis broker 就不支持 cluster 。cluster 对 mset,mget ,pipeline 这些支持不好(key 必须处于同一 slot)。sentinel 只是维护下集群状态,自己不耗多少资源。cluster 里如果有超级大的 key,会让数据分布不均匀,可能还不如让这样的应用用一个单独的 redis 。数据不超过单机内存的话,用 sentinel 也没啥问题
sujin190
2020 年 8 月 7 日
哨兵单独进程,并不保存数据吧,也几乎不占内存,可以和 slave 部署在一起,那么看起来其实也是可以提供读取的吧,但是吧基于一致性和持久化性能要求,真的有人会在 slave 上提供读服务么
useben
2020 年 8 月 7 日
你对 redis cluster 的理解错了, 集群的核心是分片
Jrue0011
2020 年 8 月 7 日
稍微搜了下,感觉这两个的关系应该是这样的?
主从加哨兵实现高可用,cluster 集群内部貌似也是用主从加哨兵做高可用,只不过 cluster 还同时做好了负载均衡
DaBingShui
2020 年 8 月 7 日
哨兵模式是 redis2.x 的吧,现在 redis3.x 一般都用集群了
wangyzj
2020 年 8 月 7 日
cluster 是横向扩展比较好
烧饼是高可用比较好
各取所需
TypeError
2020 年 8 月 7 日
用途不一样,用哨兵基本没分片需求,主从监控一下就行
egglin
2020 年 8 月 7 日
个人理解主从用哨兵,分片用集群
yiyi11
2020 年 8 月 7 日
本质就是有没有数据分片需求,sentinel 只提供高可用,cluster 提供高可用+数据分片。其实 cluster 比较香是因为,redis 足够轻量,搭建部署足够简单,搭建 cluster 并不比 sentinel 麻烦很多,但却多了分片的好处(扩展性)。
zero47
2020 年 8 月 7 日
@wangyanrui 我当然知道是两个东西,但几个人干活也能互相监督,谁倒了就谁顶上,不就不需要哨兵了吗?我的观点是集群是否可以取缔哨兵,而不是说他们是一个东西。
optional
2020 年 8 月 7 日
分片是有代价的, 不是无痛的。
672795574
2020 年 8 月 7 日
个人见解
哨兵最少只要三个节点即可
哨兵可以不和集群部署在一起
672795574
2020 年 8 月 7 日
你说的方案应该是可以的,但是架构又没有银弹,只是 redis 官方提供了这个方案而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX