消息中间件能干什么?存在意义、作用、适用场景?什么情况下要用消息中间件?

81 阅读1分钟

要举具体例子,才容易理解

  1. (系统间)解耦

系统同步调用三方接口,性能直接和三方服务挂钩,三方接口性能直接影响系统。因此外部接口不能直接同步调用。如下所示:

B出现故障用户无感知,B恢复自动取消息。消息使系统间解耦,使系统间不互相直接影响。 image.png

  1. 提升系统性能

异步化提升系统性能、降低用户等待时长改善用户体验 image.png

如下所示:

系统A和B,A处理业务20ms,B处理业务180ms,A调用B耗时200ms。使用消息中间件,A处理业务20ms,发消息到MQ2ms,然后返回给用户,对用户22ms返回。 image.png

  1. 流量削峰/削峰填谷

双十二活动促销在线系统A面临过万QPS,后端数据系统B只能处理每秒5000并发,这个时候如果将并发全部打到B很可能就挂了。现在引入中间件消息队列MQ,将1万+并发打到MQ,B系统就可按照5000并发处理能力从MQ中获取消息,完成业务中大流量削峰的作用。 image.png