【发布时间】:2020-05-09 08:19:23
【问题描述】:
考虑两个微服务“A”和“B”。假设“A”对“B”进行 POST 调用,“B”执行基于某个 id 检查重复请求的操作。如果操作成功,“B”返回 200 OK 响应。如果“B”发现请求是重复的,则返回409。
现在考虑一个场景,其中“A”对“B”进行 POST 调用。 “B”成功处理,但在响应之前,连接超时,“A”收到504 超时错误代码。当服务“A”重试请求时,这次“B”将其识别为重复请求并返回409 响应,因为它已成功处理“A”发出的第一个请求。在这种情况下,服务“A”应该将此视为不可重试的错误,还是应将其视为成功(假设其第一个请求已成功处理)?
【问题讨论】:
标签: http error-handling microservices error-code