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

springboot小技巧(五) 使用多线程提高Restful接口性能_第1张图片
1>传统单线程模式,同步处理:一个请求负责请求开始到请求结束返回结果,服务器能接受的请求数量受tomcat线程数量限制
2>采用异步处理模式:tomcat主线成接受到请求后,调用副线程处理剩下的逻辑,主线程空闲出来处理两外的请求,这样服务器吞吐量将会大大提高

采用Callable异步处理请求

springboot小技巧(五) 使用多线程提高Restful接口性能_第2张图片
在这里插入图片描述
在这里插入图片描述
可以看到:采用异步方式处理请求时,主线程接收请求和返回几乎是同步的,主线程空闲出来,可以处理更多的请求,副线程处理业务逻辑,当处理完之后,再交由主线程返回结果

使用DeferredResult异步处理Rest服务

springboot小技巧(五) 使用多线程提高Restful接口性能_第3张图片
现在的业务场景是:应用1接收到http请求,应用1发送主题消息,应用2监听到消息之后完成逻辑处理,并将返回结果封装为另外的主题消息发送到消息队列,应用1通过另外的线程监听此消息,解析消息并将结果返回,此时Callable就满足不了需求了,那就得使用DeferredResult

DeferredResult的使用待更新…

你可能感兴趣的:(springboot)