【发布时间】:2023-03-27 08:08:01
【问题描述】:
我正在尝试在网关超时时重试,但我无法做到这一点。 显然重试建议正在包装请求,但不要回复。 无论如何以集成方式实现这一目标?
示例要点:https://gist.github.com/daniel-frank/19dfafbf3d53f4c4b1463107daac540c
最好的问候,
【问题讨论】:
我正在尝试在网关超时时重试,但我无法做到这一点。 显然重试建议正在包装请求,但不要回复。 无论如何以集成方式实现这一目标?
示例要点:https://gist.github.com/daniel-frank/19dfafbf3d53f4c4b1463107daac540c
最好的问候,
【问题讨论】:
好吧,让我们考虑一下,我们不知道这个漫长过程的背后是什么。只有我们知道我们发送请求并等待回复。当我们在服务调用上超时时,无法保证服务器将如何工作:也许它会存储下一个幂等调用的回复,也许它只是丢弃所有内容并忘记。或者在我们超时的时候,回复可能会在网络上丢失......
这就是为什么我们完全不将reply 视为独立实体,而是将其视为整个请求-回复操作的一部分。
因此,如果我们在超时期间失败,则没有其他办法,除非再次重试请求并再次尝试等待回复。这已经是服务器对同一请求做出正确反应的责任。
如果您对此事有任何有价值的想法,请告诉我!
【讨论】: