大家使用 redis 的时候,有考虑 redis 挂的场景?

2021-05-13 17:51:27 +08:00
 hackingwu

大家使用 redis 的时候,有考虑 redis 挂的场景吗?比如挂了走本地缓存,但是感觉想一想实现的好复杂,大家都是怎么处理的?

6432 次点击
所在节点    Redis
29 条回复
mreasonyang
2021-05-13 23:11:52 +08:00
主从集群加多机房异地,不行再上单元化,这要是都挂了就认命吧。如果单说降级这一点,那可以再来一套分布式缓存方案做冷备
jinliming2
2021-05-14 00:55:29 +08:00
redis 官网都曾经几次因为 redis 挂了导致官网几小时内无法访问,直接把错误信息都打出来了
liuliancao
2021-05-14 08:23:45 +08:00
提前做好挂掉一台或者多台的准备,增加 HA 的健康检查,redis 搞集群,分级告警出来,未雨绸缪,一个好的架构一台或者几台挂掉都不会影响核心服务。
leafre
2021-05-14 08:56:44 +08:00
主从+Sentinel or Cluster,反对上面说的不依赖 redis,redis 能做的不仅仅是缓存,再说缓存崩了,那是会雪崩的! HA 一定要保证
polymerdg
2021-05-14 08:58:15 +08:00
KEEPALIVED VIP 漂移
iseki
2021-05-14 09:07:16 +08:00
感觉与其给 redis 做 HA,不如给整个机房做 HA
sirius1024
2021-05-14 09:24:43 +08:00
必然会。而且需要从两方面考虑,一是从 Redis 运维的角度部署 Cluster,保障集群本身的高可用;二是从应用角度编写逻辑,当集群真的不可用时,转为从数据库中捞数据或是有预期内的异常暴露。
palmers
2021-05-14 14:24:12 +08:00
首先讨论 redis 挂的情况, 这种情况 会自动降级,比如兜底方案或不展示某些边缘信息,因为这个过程不会持续很长时间的,否则也没有必要做 redis 挂了的假设或处理;
其次是 redis 不会挂,原因有:1. redis 现在本身已经是做了高可用,比如集群; 2.再者服务部署多主多从,多机房,尤其是多机房,在高可用里是有要求的,比如 两个机房不能在一个城市,距离上有严格的要求否则形同虚设, 这是为了应对那种极端的灾难, 例如地震 山洪 等。
ljzxloaf
2021-05-14 16:02:56 +08:00
redis 的功能太多了,导致 ha 方案很难兼顾所有功能。比如说,如果只作为缓存使用的话,用主备就够了,最多是数据不太新鲜而已。而如果作为分布式锁(建议别用),或者一些计数的功能,主备之间的延迟就会影响数据的一致性,必须要保证强一致,不知道目前有没有能保证强一致的方案。这两种场景所要解决的数据访问特征是完全不同的,前者全是读,后者也有一部分写,甚至读写差不多频率,前者更关注的是负载,后者更关注数据的一致和高可用。其实后者不建议使用 redis 了,有更适合的方案,比如 etcd 。

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

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

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

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

© 2021 V2EX