栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈 mq

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈 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个请求,那只是把请求放在消息队列中,去拿消息队列的消息由系统自己去控制,这样就不会把整个系统给搞崩。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/697306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号