当 Hystrix 因超时而离开并且服务器响应任何结果时会发生什么?
What happens when Hystrix walks away cause of a timeout, and server responds with any result?
例如,我在我的服务客户端上启用Hystrix,使用另一个服务服务器。我将 Hystrix 超时设置为 5 秒。 5 秒后,如果服务器没有响应,Hystrix 将超时并调用 fallback。如果服务器在 Hystrix 超时并离开该调用后响应,会发生什么情况?
https://github.com/Netflix/Hystrix/wiki/How-it-Works#isolation
一旦 Hystrix 超时触发,Hystrix 将发送 Thread.interrupt()
到调用的客户端。根据您在 Hystrix 命令中实现的内容,这可能会或可能不会对中止调用的客户端产生影响。这 can be configured 与 execution.isolation.thread.interruptOnTimeout
.
服务器部分通常会继续运行。如果您的呼叫客户端没有中止,它将收到结果。但是结果不会传递给 Hystrix 命令的调用者。它将被丢弃。
例如,我在我的服务客户端上启用Hystrix,使用另一个服务服务器。我将 Hystrix 超时设置为 5 秒。 5 秒后,如果服务器没有响应,Hystrix 将超时并调用 fallback。如果服务器在 Hystrix 超时并离开该调用后响应,会发生什么情况?
https://github.com/Netflix/Hystrix/wiki/How-it-Works#isolation
一旦 Hystrix 超时触发,Hystrix 将发送 Thread.interrupt()
到调用的客户端。根据您在 Hystrix 命令中实现的内容,这可能会或可能不会对中止调用的客户端产生影响。这 can be configured 与 execution.isolation.thread.interruptOnTimeout
.
服务器部分通常会继续运行。如果您的呼叫客户端没有中止,它将收到结果。但是结果不会传递给 Hystrix 命令的调用者。它将被丢弃。