springboot小技巧(五) 使用多线程提高Restful接口性能

本文探讨了从传统单线程模式转向异步处理模式的转变,特别是在使用Callable和DeferredResult处理REST服务时,如何显著提高服务器的吞吐量。通过副线程处理业务逻辑,主线程能够处理更多请求,从而实现效率的最大化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
1>传统单线程模式,同步处理:一个请求负责请求开始到请求结束返回结果,服务器能接受的请求数量受tomcat线程数量限制
2>采用异步处理模式:tomcat主线成接受到请求后,调用副线程处理剩下的逻辑,主线程空闲出来处理两外的请求,这样服务器吞吐量将会大大提高

采用Callable异步处理请求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到:采用异步方式处理请求时,主线程接收请求和返回几乎是同步的,主线程空闲出来,可以处理更多的请求,副线程处理业务逻辑,当处理完之后,再交由主线程返回结果

使用DeferredResult异步处理Rest服务

在这里插入图片描述
现在的业务场景是:应用1接收到http请求,应用1发送主题消息,应用2监听到消息之后完成逻辑处理,并将返回结果封装为另外的主题消息发送到消息队列,应用1通过另外的线程监听此消息,解析消息并将结果返回,此时Callable就满足不了需求了,那就得使用DeferredResult

DeferredResult的使用待更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值