[robinhood] idempotency key

老师, 关于 idempotency key 我有以下疑问, 请帮忙回答下, 谢谢。
理想情况下, order service make a request to account service, account service process this request, generate an idempotency key, and send the response with the idempotency key back to order service.

但如果 the account service is down permanently before sending out the response and idempotency key, 这时候 order service 会怎么做?

这里需要有一个前提就是服务不会永久性当机,如果任何一个服务永久性宕机(意味着整个服务机群内所有机器都不能处理请求),那么 Transaction 就会停滞。

了解了。 另外一个相关问题, 您提到如果time out 我们做retry。 但问题是time out的时候我们并没有idempotency key, 怎么做retry?

是有 idempotent key 的。Caller 会提供这个 Key,不依赖于返回的结果。