DeferredResult使用解读
1、为什么使用DeferredResult
项目中我们某些接口有耗时操作,例如发送邮件、发送短信等有涉及调用的第三方接口的地方,因为第三方具有不确定性,可能耗时很久才会有数据返回。数据库某些慢查询。通常一些耗时且不必马上有返回结果的我们会采用消息中间件,例如 RabbitMQ、Disruptor等,但是有一些耗时但是又需要等待结果返回的,我们可以使用DeferredResult进行异步处理。以此提高我们服务器的性能。
2、实战
R为自定义的返回结果集
tomcat并发了大概在300到500,此接口被大量访问时若没进行异步处理,服务器资源一下子就会耗完。
1 |
|
1 | import java.util.HashMap; |