消息队列(MQ)简介

本文介绍了HTTP同步请求的缺点,探讨了MQ在处理高并发和异步解耦中的应用。通过MQ,可以将耗时任务放入消息队列,减轻服务器压力,但可能导致延迟问题。同时,文章比较了多线程、MQ和主流MQ解决方案的优缺点。
摘要由CSDN通过智能技术生成

1.引入——传统的Http请求的缺点

Http请求是同步的,也就是说必须和服务端建立连接,当服务端接收的请求过大时,给客户端的响应就不够及时如下图所示

在这里插入图片描述

每当客户端向tomcat服务器发送一个请求,tomcat服务器当中就会创建一个线程,而且这个线程不是无限的,有一个最大线程数。当我的请求数量大于这个最大线程数的时候,多余的请求就要缓存到队列里。这就有可能导致客户端长时间得不到响应。客户体验非常差。如果客户端一直等着没有收到服务端的响应的话那么可能引起超时重传,同一个请求传好几遍,有可能引发幂等性问题。

2.MQ应用场景有哪些

在一些耗时操作都可以使用到MQ,比如下面这个例子。

2.1 http同步方案的缺点

如下图所示

在这里插入图片描述

这是一个会员注册业务逻辑,客户端向服务段发送了一个请求Request,然后在服务端需要做如下操作,首先我插入一条会员数据1s,然后向用户发送登录短信提醒3s,然后发送新人优惠劵3s。也就是说假如我是用户我从发送请求到接收一共需要7s,搁我我是受不了。

2.2 多线程实现异步解耦的优缺点

为了优化这个接口响应时间ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温JZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值