1.引入——传统的Http请求的缺点
Http请求是同步的,也就是说必须和服务端建立连接,当服务端接收的请求过大时,给客户端的响应就不够及时如下图所示
每当客户端向tomcat服务器发送一个请求,tomcat服务器当中就会创建一个线程,而且这个线程不是无限的,有一个最大线程数。当我的请求数量大于这个最大线程数的时候,多余的请求就要缓存到队列里。这就有可能导致客户端长时间得不到响应。客户体验非常差。如果客户端一直等着没有收到服务端的响应的话那么可能引起超时重传,同一个请求传好几遍,有可能引发幂等性问题。
2.MQ应用场景有哪些
在一些耗时操作都可以使用到MQ,比如下面这个例子。
2.1 http同步方案的缺点
如下图所示
这是一个会员注册业务逻辑,客户端向服务段发送了一个请求Request,然后在服务端需要做如下操作,首先我插入一条会员数据1s,然后向用户发送登录短信提醒3s,然后发送新人优惠劵3s。也就是说假如我是用户我从发送请求到接收一共需要7s,搁我我是受不了。
2.2 多线程实现异步解耦的优缺点
为了优化这个接口响应时间ÿ