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

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

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

6436 次点击
所在节点    Redis
29 条回复
kop1989
2021-05-13 17:54:10 +08:00
Redis 集群?
RedisMasterNode
2021-05-13 17:55:27 +08:00
考虑呀但是没有特别去做降级,按目前的 SLA 看起来只需要简单返回错误就够了宕机时间太短
aptupdate
2021-05-13 17:58:07 +08:00
肯定有人考虑过啊,所以才有了集群吗不是。
cominghome
2021-05-13 17:58:50 +08:00
看 SLA 要求,不是特别变态的话 redis 做了集群就不用太考虑挂掉这个场景
chenqh
2021-05-13 18:34:32 +08:00
小项目,从来没挂过。
Jooooooooo
2021-05-13 18:37:46 +08:00
redis 本身也有 HA 啊

整个集群都挂的场景一般不考虑 (成本很大, 除非有很强的理由要不然做容灾也需要考虑性价比的
RedisMasterNode
2021-05-13 18:38:33 +08:00
@aptupdate 它这意思说的就是不管是单点 redis 还是 cluster 还是什么,外部的 cache 出问题不可用的时候,应用内要怎么处理
leonme
2021-05-13 18:44:16 +08:00
1. 单点 redis 挂了,可以走 sentinel 2. 集群本身有高可用 3. 应用层,缓存不可访问就查库,或者直接 error 告警
shawlib
2021-05-13 18:47:08 +08:00
脱离场景谈技术都是刷流氓
40EaE5uJO3Xt1VVa
2021-05-13 18:53:26 +08:00
项目不大,话没考虑挂掉的情况。写了个自动快照脚本,每一小时打个快照,哪里有问题迅速回滚
cominghome
2021-05-13 19:09:25 +08:00
@RedisMasterNode
讲道理这个问题的思考方向应该是:我怎么不让强依赖的中间件挂掉,而不是:中间件挂掉了我业务怎么处理
yeqizhang
2021-05-13 19:42:56 +08:00
挂了立马重启🙈
Kaciras
2021-05-13 19:45:49 +08:00
挂了邮件通知,赶紧重启
westoy
2021-05-13 19:47:56 +08:00
做好本地缓存方案又要考虑多个节点的本地缓存一致性了, 然后又要考虑内存出错、IO 出错之类的场景了

它挂就让它挂

let it crash 也是一种极好的解决方案
nielinjie
2021-05-13 19:49:44 +08:00
彻底挂了还好,redis 有时也会僵死,才叫麻烦。
RedisMasterNode
2021-05-13 20:34:11 +08:00
@cominghome 你可以问下楼主,我看楼主意思就是大家平时设计的时候有没有在应用层内考虑中间件挂掉了怎么降级和保持可用性;

你说的完全是另一个事情,而且每个使用的中间件都会考虑,也就没有必要单独问了,比如如何防止 Redis 挂掉
misaka19000
2021-05-13 21:32:23 +08:00
HA 加哨兵啊
GoLand
2021-05-13 21:43:29 +08:00
Redis 做好告警,引入任何依赖都会考虑不可用的情况,尽可能在依赖挂掉的情况下,影响面小一点。

但是如果强依赖的话,那也没办法,一处挂处处挂。
miao1007
2021-05-13 21:49:15 +08:00
上高斯 Redis,N-1 级别高可用
opengps
2021-05-13 22:10:50 +08:00
redis 作为缓存,本来就应该做到完全不依赖的程度,redis 是用来提速的,不是用来硬性依赖的

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

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

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

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

© 2021 V2EX