我从 cloudhub 收到 HTTP:GATEWAY_TIMED_OUT

问题描述

我在 mule 4 中使用请求连接器来调用 API。该 API 需要 24 分钟才能将响应发送回请求者。因此,当我在 cloudhub 中运行我的应用程序时,我收到 HTTP:GATEWAY_TIMED_OUTerror_code: 504

我在请求者中设置的响应超时为24 分钟,连接空闲超时设置为default(30000ms)

如何更新cloudhub的响应超时时间?

解决方法

我了解您正在向作为部署在 CloudHub 中的应用程序实现的 REST API 发出 HTTP 请求。您可能正在使用通过 CloudHub 负载均衡器的 URL(例如 https://myapp.us-e1.cloudhub.io/api/...)。 The load balancer has a fixed 5 minutes 无法更改。请注意,24 分钟足以让连接资源保持打开状态。

一些替代方案可以:

  • 重构您的应用程序,使其以异步方式运行。这可能需要付出巨大的努力。
  • 跳过负载均衡器层并使用其 DNS 名称(例如 https://mule-worker-myapp.us-e1.cloudhub.io:8082/api/...connect to the application worker directly。请注意,如果采用这种方式,您将失去使用负载平衡器的好处。