Spring Cloud Gateway и отказоустойчивость - PullRequest
1 голос
/ 28 мая 2019

Я читал о весенней облачной архитектуре и технологиях (таких как eureka, автоматический выключатель Hystrix), используемых для предотвращения простоя вашего приложения из-за сбоя некоторых ваших микросервисов. И в целом Spring Cloud предлагает использовать Spring Cloud Gateway в качестве точки входа для всех микро сервисов. Поэтому я задаю себе вопрос, как обеспечить отказоустойчивость самого весеннего облачного шлюза? Как я вижу сейчас, если эта точка входа выйдет из строя, то все эти технологии, такие как eureka и автоматический выключатель hystrix, будут недоступны, поскольку они реализованы на уровне шлюза весенних облаков. Теперь, когда весенний облачный шлюз не работает - все клиенты не смогут получить доступ ко всем услугам за весенним облачным шлюзом. Итак, как бороться с такими ситуациями?

1 Ответ

2 голосов
/ 29 мая 2019

Я не думаю, что это напрямую связано с Spring Cloud Gateway, если честно. Вопрос больше "Как развернуть высокодоступное Java-приложение?" (SCG - это приложение Spring).

Ответ зависит от платформы, которую вы используете.

  • Большинство платформ IAAS предоставляют собственные балансировщики нагрузки инфраструктуры, такие как ALB / ELB в AWS.

  • Платформу PAAS обычно включают в комплект поставки LB, например, Cloud Foundry или Kubernetes могут сделать это для вас.

DNS, вероятно, не лучший выбор по причинам, которые вы описали - TTL и кэширование клиента. Кроме того, у DNS нет способа проверить работоспособность вышестоящей службы. Таким образом, использование DNS требует балансировки нагрузки на стороне клиента, когда клиент должен быть умным и аннулировать кэш / повтор в случае сбоя запроса.

...