Я использую Spring Cloud Gateway из spring-cloud-starter-gateway
версии 2.1.0.RELEASE
, и мне нужно понять, почему Gateway блокирует запросы на выполнение процесса DiscoveryClientRouteDefinitionLocator
.
Spring Cloud Версия: Greenwich.RELEASE.
У меня есть две среды: постановка и производство.
На производстве у нас есть рабочий шлюз со следующей задержкой для /actuator/health
вызова:
Я выяснил, почему эти пики возникают при простом вызове работоспособности, и я выяснил, что шлюз иногда блокирует любые запросы (даже вызовы работоспособности или вызовы реальных микросервисов) для выполнения маршрутов обнаружения всех моих микросервисов.
Мы используем Consul для сервера обнаружения, и я попытался протестировать эту задержку в моей промежуточной среде (при использовании Consul значительно меньше аппаратных ресурсов). Влияние этого блока очевидно:
После улучшения аппаратных ресурсов Консула у нас больше нет всплесков, но задержка все еще не идеальна (и есть незначительные всплески для обнаружения всех маршрутов) для вызова работоспособности:
Мне нужно спросить: почему Spring Cloud Gateway блокирует запросы, даже имея функцию кэширования? Разве этот процесс не должен работать в фоновом режиме? Что я делаю не так? Это действительно проблема с Spring Cloud Gateway?
Спасибо.