兄弟们听说过自愈嘛?

2022-07-11 21:05:34 +08:00
 microxiaoxiao

是这样的,最近有人告诉我说,为了避免消息丢失,状态不更新的问题,然后啥都搞个一直轮询的逻辑。比如 redis 的消息订阅,kafka 的消息等,大家都是这样设计的嘛?是不是太自愈。

3086 次点击
所在节点    程序员
9 条回复
PerFectTime
2022-07-11 21:07:35 +08:00
还以为你说系统有 bug ,没人管他过一会自己就好了
S2Line
2022-07-11 21:10:34 +08:00
redis 可以做降级和自愈,提高系统健壮性。
bthulu
2022-07-12 08:40:42 +08:00
是的, 推送不靠谱, 必须有轮询来兜底
Junzhou
2022-07-12 09:46:16 +08:00
跟一下 3 楼。是的,三方回调通知有可能会丢(比如网络链路拥塞等),必须有轮询来兜底
julyclyde
2022-07-12 09:52:59 +08:00
如果遇到消息丢失,应该去修理消息丢失啊
1 为什么要用轮训去补
2 用了轮训是不是就打算无视消息丢失这个故障了?
ql562482472
2022-07-12 10:40:12 +08:00
@julyclyde 消息丢失始终都会出现的,不可能完全解决,只能说尽可能降低概率,所以轮询是兜底和最可靠的解决方案
nothingistrue
2022-07-12 11:04:12 +08:00
@julyclyde #5 消息丢失是订阅方的问题,不是发布方的问题。RabbitMq Exchange 就是个典型,消费方下线的时候,生产方发布的消息就奔向太空了。

说轮询弥补消息丢失其实不完全对,真正弥补消息丢失的,是发布方保存(暂存)消息+订阅方轮询。
alexsunxl
2022-07-12 12:10:59 +08:00
@julyclyde
复杂点的系统 都有兜底设计。只是说 选用那种方式的区别而已。
Miy4mori
2022-07-12 14:55:26 +08:00
@julyclyde 他说的是“三方回调通知有可能会丢(比如网络链路拥塞等)”,网络波动你怎么修,不许网络波动?

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

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

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

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

© 2021 V2EX