【发布时间】:2014-11-29 22:33:01
【问题描述】:
我正在编写一个 Web 服务 API,我对 API 中的重试逻辑有疑问。
我的 API 调用了一些其他下游 API。
我应该将重试逻辑放在我正在进行的服务调用(下游 API)周围吗?或者只是对客户端说“请重试”,客户端可以有重试逻辑?
【问题讨论】:
标签: web-services asp.net-web-api
我正在编写一个 Web 服务 API,我对 API 中的重试逻辑有疑问。
我的 API 调用了一些其他下游 API。
我应该将重试逻辑放在我正在进行的服务调用(下游 API)周围吗?或者只是对客户端说“请重试”,客户端可以有重试逻辑?
【问题讨论】:
标签: web-services asp.net-web-api
您的 API 必须采用最坏情况的方法,因此如果您的 API 需要其他 API 才能工作,您应该注意异常和超时。
您提到的一个好方法是实现重试逻辑。
请参考this问题实现。更好的方法是使用 Fibonacci 方法来实现它,这样您就不会在同一时间间隔内调用其他 API。
还有一些库已经实现了重试
【讨论】: