Во-первых, для недоступной услуги, вероятно, больше подойдет http-код 503.
Тогда Zuul - это шлюз API, а не служба me sh. Я думаю, что вы смешиваете обе концепции здесь.
Цель шлюза API состоит в том, чтобы принимать трафик c извне вашей сети и распространять его внутри ... и таким образом абстрагировать его сложность (на самом деле это распределенная фасад / маршрутизатор). Пример: zuul, spring cloud gateway
Служба me sh действует как посредник между микросервисами и обеспечивает такие аспекты связи, как автоматические c попытки, автоматический выключатель, отслеживание, ведение журнала.
Пример Istio, Linkerd
Но вы можете go без обслуживания меня sh для реализации этой задачи. Микросервис вызывающей стороны может защитить себя, реализовав таймаут, повторные попытки и автоматические выключатели, встроив мощную библиотеку, такую как resilience4j
. (Hystrix на самом деле в конце своей жизни)
Эта библиотека предоставит вам API, позволяющий вам обернуть связь с внешним (другими микросервисами) через специальный прокси, который будет обрабатывать повторные попытки и / или автоматические выключатели для вас. Вы должны посмотреть: https://github.com/resilience4j/resilience4