Message Queue
为什么使用消息队列
https://aws.amazon.com/message-queue/benefits/
解耦
Message queues remove dependencies between components and significantly simplify the coding of decoupled applications. Software components aren’t weighed down with communications code and can instead be designed to perform a discrete business function.
异步 (weak consistency)
再来看一个场景,A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。最终请求总延时是 3 + 300 + 450 + 200 = 953ms,接近 1s,用户感觉搞个什么东西,慢死了慢死了。用户通过浏览器发起请求,等待个 1s,这几乎是不可接受的。

一般互联网类的企业,对于用户直接的操作,一般要求是每个请求都必须在 200 ms 以内完成,对用户几乎是无感知的。
如果使用

本文探讨了消息队列(MQ)在系统设计中的重要性,包括解耦、异步处理、削峰填谷和细粒度扩展能力。通过MQ实现应用组件之间的解耦,提高系统性能,允许异步通信以优化数据流。此外,MQ还能帮助系统应对高并发峰值,避免直接冲击数据库导致崩溃。文章还讨论了确保消息不丢失的策略,如RabbitMQ的确认机制和避免消费者丢消息的方法,以及如何保证消息重复消费的幂等性。
最低0.47元/天 解锁文章
1406

被折叠的 条评论
为什么被折叠?



