ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么要用MQ?

2022-08-15 23:33:26  阅读:130  来源: 互联网

标签:为什么 请求 要用 数据库 系统 MQ 每秒 2k


1 - 解耦
A系统调B C D 系统,如果新加一个系统E也需要A系统传的数据,C系统不需要A系统调用,这样A系统就会不停的改代码,很崩溃,可以让A系统把消息发送到MQ里,哪个系统需要就去订阅消费,A系统不用再关心有没有调用失败或者成功,其他系统不需要A系统数据直接取消订阅不消费即可

 

 

2 - 异步
比如客户调用A系统,A系统作用数据库是3ms,同时需要调用B C D系统也进行数据库的一系列操作,时间分别是 3ms,5ms,10ms,这样全部调用完后才给客户返回,时间会很长,客户的体验不好,如果在A系统后加MQ,客户请求A系统后,A系统发送MQ消息耗时5ms后直接给客户返回响应,这样客户只感受到3ms +5ms = 8ms是无感知的,感觉这个网站真的很顺畅,做的真好,B C D 系统自动去消费,然后操作数据库

 

 

 

 

 

3 - 削峰
比如一个网站每天中午12点到12点30分是用户访问高峰期,每秒的并发请求是5千次。系统A是直接基于Mysql的,大量的请求涌入Mysql,每秒对Mysql执行5k条sql,但是数据库可能能抗的最大的并发只有2k条,这里数据库就会被大并发打死崩掉,系统崩溃用户也就用不了,但是过了这个时间点请求就会下降到每秒50个,所以可以在请求A系统之前加MQ,让请求发送到MQ里,这样A系统每秒从MQ拉取数据库可允许范围内的2k请求访问数据库,虽然每秒MQ会进来5k请求,消费2k消息,这半个小时会有消息积压,但是过了这个高峰期,请求就只有几十个,系统A每秒2k条消费,很快就会消费完积压的消息,这样就实现了流量的削峰

 

 

标签:为什么,请求,要用,数据库,系统,MQ,每秒,2k
来源: https://www.cnblogs.com/langjitianyaluotongxue/p/16590048.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有