Как включить автоматический выключатель Hystrix в zuul? - PullRequest
0 голосов
/ 12 февраля 2019

в моем приложении мы используем микросервисы springboot, с реестром eureka, шлюзом zuul api, здесь предположим, что у меня есть 2 экземпляра платежного сервиса, а zuul использует ленту для балансировки нагрузки конечной точки / payment для платежного сервиса, когдаодин узел платежного сервиса не отвечает и все еще зарегистрирован в eureka.здесь мы настроили автоматический выключатель Hystrix на Apigateway Zuul, но автоматический выключатель Hystrix не открывается для не отвечающего узла.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

, что может быть достигнуто с помощью ленты, изменив стратегию балансировки нагрузки на <ServiceName>: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule https://github.com/Netflix/ribbon/wiki/Working-with-load-balancers

0 голосов
/ 12 февраля 2019

Zuul создает автоматический выключатель Hystrix для каждого маршрута (serviceId).Это означает, что один автоматический выключатель Hystrix будет распределен между всеми вашими экземплярами платежных услуг .

Автоматический выключатель, который Zuul создает для каждого маршрута, не предназначен для удаления нездоровый экземпляр из списка маршрутизации.Это просто для предотвращения падения Zuul, которое может быть вызвано одним видом обслуживания.

Предполагается, что вы используете конфигурацию по умолчанию для Hystrix.Если у вас есть 3 экземпляра платежного сервиса и 2 экземпляра из 3 не работают, автоматический выключатель для платежного сервиса будет отключен (поскольку пороговое значение по умолчанию для отказа в размыкании цепи составляет 50%).Это означает, что весь трафик к вашим платежным сервисам (включая ваш один здоровый экземпляр) от Zuul будет заблокирован.

То, что вам нужно - удаление нездорового экземпляра из списка маршрутизации - это роль Лента . Лента определяет множество интерфейсов для определения его поведения, таких как IRule, IPing.У некоторых из них есть способность, которую вы хотите.

...