REST API请求总是缓慢的服务超时



我正在处理一个项目,在该项目中我必须调用第三方REST服务。当前设置的问题是服务至少在16秒内不会返回。这个响应时间可能超过这个时间。

为了避免线程在服务器上等待,我的服务的超时值为16秒。但这种价值观于事无补。我搜索了一下,发现断路器模式会很有用。参考:spring-boot-rest-api请求超时。我相信,当服务多次响应缓慢时,这种模式是有用的。就我而言,这总是一项缓慢的服务。

我如何应对这种情况?

如果你想要第三方REST服务的响应,你别无选择,只能等待,但如果你的请求方法还有其他事情要做。你应该使用Callable Thread向REST服务发送请求,让Main Thread先完成其他工作,然后等待Callable返回。

也许你可以尝试在这种情况下使用一些缓存,比如@Cacheable或Redis。这可能会加快一些类似的请求。

或者,让您的请求方法先将响应发送回客户端。之后,使用AJAX从客户端访问第三方REST服务。

最新更新