当前位置: 首页 > 知识库问答 >
问题:

对于始终很慢的服务,REST API 请求超时

娄阳舒
2023-03-14

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

为了避免线程在服务器上等待,我的服务的超时值为16秒。但这种价值并没有帮助。我对此进行了搜索,发现断路器模式很有用。参考:-spring boot rest api请求超时。我相信当服务有几次慢响应时,这种模式很有用。在我的情况下,它总是一个缓慢的服务。

我该如何处理这种情况?

共有1个答案

孙志
2023-03-14

如果您希望从第三方REST服务获得响应,您别无选择,只能等待,但如果您的请求方法有其他事情要做。您应该使用可调用线程向REST服务发送请求,让主线程先完成其他工作,然后等待可调用线程返回。

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

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

 类似资料:
  • 当没有响应返回时,我需要超时我的RESTAPI。例如,当我发出请求时,如果返回响应需要5秒钟以上,则超时。 为了实现这一点,我选择了使用Hystrix的断路器。但我不确定这是否是解决此问题的正确方法,如果一切都好,是否应该对Hystrix进行更多配置? 我当前的实现看起来像, 主类 RestController 应用程序属性 当超时时,它抛出一个HystrixRunTimeException,并由

  • 我在heroku服务器上部署了nodejs代码。 我面临H12请求超时问题 这是与pgsql的db连接,它是异步的 这是我如何调用这个数据库 以及立面功能 同样的编码在本地工作,它也在heroku工作。但是突然间我得到了这个问题。有什么帮助吗?

  • 问题内容: 刚开始在本地服务器上试用Flask时,我注意到请求/响应时间比我预期的要慢得多。 像下面这样的简单服务器需要近5秒钟才能响应。 有任何想法吗?还是这只是本地服务器的方式? 问题答案: 在支持ipv6并进行了配置的操作系统(例如现代Linux系统,OS X 10.4或更高版本以及Windows Vista)上,如果访问本地服务器,某些浏览器可能会非常缓慢。原因是有时ipv4和ipv6套接

  • 我正在寻求帮助,以解决这个基本方案无法正常工作的问题: 在运行在MacBook上的VirtualBox VM上安装了kubeadm的三个节点: Virtualbox VM有2个适配器:1)主机专用2)NAT。来自客户计算机的节点IP是: 我将它们公开为ClusterIP服务: 现在问题来了: 我ssh到kubernetes-node1并使用集群IP卷曲服务: 如果我ssh到kubernetes-n

  • 问题内容: 当使用请求库请求Web资源或网站或Web服务时,请求需要很长时间才能完成。该代码类似于以下内容: 此请求需要2分钟(恰好是2分钟10秒)才能完成!为什么这么慢,我该如何解决? 问题答案: 这个问题可以有多种可能的解决方案。关于StackOverflow的答案很多,因此,我将尝试将它们全部组合起来,以免您寻找它们的麻烦。 在搜索中,我发现了以下几层: 对于许多问题,激活日志记录可以帮助您

  • 问题内容: 我有一个用于测试的小型Java应用程序。我最近搬到了日香。我注意到的是,我不断收到此错误。 以下是我最初对hikari的设置。 它几乎没有用在我的两个设备上,我保证在最后我确实将其关闭。所以我不知道为什么它会不断出现错误?可能是问题所在,或者我需要更改某些设置吗? 我的hikari版本是HikariCP-2.6.1.jar。 问题答案: 由于网络延迟或某些查询执行时间过长(超过3000