我有一些服务支持Azure管理。当客户端发送请求时,如下所示:
客户端 -> Azure Api管理 -> 服务A -> 服务B
有时服务B在5分钟后响应,但同时客户端获得504网关超时。在Azure API管理中,我设置了策略
<backend>
<forward-request timeout="300" />
</backend> 在下面的文档中,我看到了一些信息,但是如果可以在管道中为网络基础设施设置一些设置呢?
后端服务在引发超时错误之前等待HTTP响应标头返回的时间(以秒为单位)。最小值为0秒。大于240秒的值可能不会被执行,因为基础网络基础结构可以在此之后丢弃空闲连接。
发布于 2021-09-21 01:04:55
正如doco所指出的,任何大于240的值都是不可靠的。因此,对您来说最好的选择是,如果实现在您的控制范围内,就稍微更改一下实现。
一个简单的方法可以是:不再等待5分钟,而是将请求更改为“触发并忘记”,一旦Service完成了它的执行,它就可以在Service可以访问的地方写入响应。然后,您的客户可以继续点击以查看响应是否可用。
如果您没有控制权,这可能是不可行的,但只是建议它作为一种解决办法,以防您这样做:)
https://stackoverflow.com/questions/67567647
复制相似问题