Hystrix 主要用于使用 Spring Cloud 构建的应用程序。话虽如此,一个应用程序可能有多个服务层。
例如亚马逊(亚马逊网站必须有多种服务,如登录、产品、购物车、订单、支付等)
客户端(例如 Web 用户)-> Web 应用程序 X -> 服务 A(它使用数据源 A)-> 服务 B(数据源 B)-> 服务 C(数据源 C)-> 服务 D(数据源 D)- > 服务 E(数据源 E)
在这种情况下,当服务 E 出现问题时,如何将其导航回客户端?Hystrix 在这里如何有助于了解服务 E 中的一项特定功能不可用?
如果该示例是错误的,那么 Hystrix 范围是否仅限于一个服务中的多个进程,而不是一个应用程序中使用的多个服务?话虽如此,上面的例子可以调整如下
客户端(例如 Web 用户)-> Web 应用程序 X -> 服务 A -> 内部服务 A 假设有进程 1 -> 进程 2 -> 进程 3 -> 进程 4-> 进程 5 并且进程 5 中的任何操作都失败了被导航回进程 1,然后返回客户端。
我的问题更多是关于在这里维护线程状态。
使用 try-catch 线程范围受限于每个服务(如果错误,请纠正我)。
Hystrix 如何在整个事务中维护线程状态?