1

我一直在考虑 Netflix OSS 断路器解决方案——Hystrix。

一切听起来都不错,但我认为让命令在不同的线程中运行在我的用例场景中没有意义。

这是因为我的请求处理程序完成的工作在调用远程服务之前只需要很少的计算。此外,在等待回复时我无能为力。

伪代码示例:

@post("/token") token(@body authResult){ Validate authResult Get id from authResult 调用远程服务获取authz token 返回authz token }

我想使用 hystrix 进行远程调用,但我认为在单独的线程中执行命令没有意义,因为无论如何我都会被阻止。

有什么建议么?是否可以在与调用者相同的线程中运行 hystrix 命令?

4

1 回答 1

1

如果使用 SEMAPHORE 作为执行隔离策略,Hystrix Command 可以在调用线程上运行

https://github.com/Netflix/Hystrix/wiki/How-it-Works#semaphore https://github.com/Netflix/Hystrix/wiki/Configuration#thread-or-semaphore

于 2018-04-04T22:44:27.187 回答