Spring Cloud Gateway блокирует запросы на обнаружение маршрута - PullRequest
3 голосов
/ 05 июня 2019

Я использую Spring Cloud Gateway из spring-cloud-starter-gateway версии 2.1.0.RELEASE, и мне нужно понять, почему Gateway блокирует запросы на выполнение процесса DiscoveryClientRouteDefinitionLocator.

Spring Cloud Версия: Greenwich.RELEASE.

У меня есть две среды: постановка и производство.

На производстве у нас есть рабочий шлюз со следующей задержкой для /actuator/health вызова:

production gateway

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

Мы используем Consul для сервера обнаружения, и я попытался протестировать эту задержку в моей промежуточной среде (при использовании Consul значительно меньше аппаратных ресурсов). Влияние этого блока очевидно:

staging gateway

После улучшения аппаратных ресурсов Консула у нас больше нет всплесков, но задержка все еще не идеальна (и есть незначительные всплески для обнаружения всех маршрутов) для вызова работоспособности:

upgraded staging gateway

Мне нужно спросить: почему Spring Cloud Gateway блокирует запросы, даже имея функцию кэширования? Разве этот процесс не должен работать в фоновом режиме? Что я делаю не так? Это действительно проблема с Spring Cloud Gateway?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...