如何在zuul上启用Hystrix断路器?

问题描述 投票:0回答:2

在我的应用程序中,我们使用springboot微服务,使用eureka注册表,zuul api网关,这里假设我有2个支付服务实例,并且zuul使用功能区将/ payment端点负载平衡到支付服务,当一个节点付款服务没有响应,仍然在eureka注册。这里我们已经在Zuul apigateway配置了hystrix断路器,但是hystrix断路器没有为无响应的节点打开。

java spring-boot netflix-zuul hystrix
2个回答
1
投票

Zuul为每条路线(serviceId)创建了一个Hystrix断路器。这意味着您的所有支付服务实例之间将共享一个Hystrix断路器。

Zuul为每条路由创建的断路器不是用于从路由列表中删除不健康的实例。它只是为了防止一种服务失败导致Zuul失败。

假设您正在使用Hystrix的默认配置。如果您有3个支付服务实例且3个实例中有2个实例已关闭,则将打开支付服务的断路器(因为开路故障的默认阈值为50%)。这意味着您的Zuul支付服务(包括您的一个健康实例)的所有流量都将被阻止。

你想要的东西 - 从路由列表中删除不健康的实例 - 是Ribbon的角色。功能区定义了许多接口来定义其行为,如IRule,IPing。他们中的一些人有你想要的能力。


0
投票

这可以通过使用功能区来实现,通过将负载平衡策略更改为qazxsw poi qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.