浅谈 mq

浅谈 mq,第1张

浅谈 mq

一说到消息队列就想到异步、削峰、解耦。

异步

很多步骤都是在一个流程里面需要做完的,就比如说下单系统吧,本来我们业务简单,下单了付了钱就好了,流程就走完了。后来又加了新的需求:优惠券系统、积分系统、发短信系统

流程图如下

链路太长就会导致响应时间变长

异步:

解耦

有一个系统A,系统A可以产生一个userId,现在有系统B和系统C都需要这个userId去做相关的 *** 作

 如果新加了系统D、E或者系统B、C有一个不用userId了,系统A 就要进行改动很麻烦

如果把系统A的userId写入消息队列中,问题迎刃而解

 这样系统即便挂了或者请求超时,都跟系统A无关,只跟消息队列有关。

这样一来,系统A与系统B、C、D都解耦了。

削峰

譬如双十一大促,大促期间并发会很高,比如每秒3000个请求。假设我们现在有两台机器处理请求,并且每台机器只能每次处理1000个请求。

 那多出来的1000个请求,可能就把我们整个系统给搞崩了...所以,有一种办法,我们可以写到消息队列中:

系统B和系统C根据自己的能够处理的请求数去消息队列中拿数据,这样即便有每秒有8000个请求,那只是把请求放在消息队列中,去拿消息队列的消息由系统自己去控制,这样就不会把整个系统给搞崩。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存