Hystrix退出超时并导致服务器响应时,会发生什么情况?

时间:2018-07-15 12:03:35

标签: spring-rest spring-cloud-netflix hystrix

例如,我在服务(客户端)上启用了Hystrix,使用了另一项服务(服务器)。我将Hystrix超时设置为5秒。 5秒钟后,如果服务器没有响应,Hystrix将超时并回退。如果服务器在Hystrix超时并从该呼叫中退出后作出响应,会发生什么?

https://github.com/Netflix/Hystrix/wiki/How-it-Works#isolation

1 个答案:

答案 0 :(得分:1)

一旦Hystrix超时触发,Hystrix就会向呼叫的客户端发送Thread.interrupt()。根据您在Hystrix命令中实现的方式,这可能会或可能不会影响中止调用的客户端。 can be configuredexecution.isolation.thread.interruptOnTimeout

服务器部分通常将继续运行。如果呼叫的客户端没有中止,它将收到结果。但是结果不会传递给Hystrix命令的调用者。它将被丢弃。