У нас есть несколько различных служб на основе REST, работающих в Azure в кластере Kubernetes (версия 1.9.6).
Две службы, скажем, A и B, должны общаться друг с другом с помощью REST-вызовов.Как правило, что-то вроде следующего:
Client calls A (original request)
A calls B (request 1)
B calls A (request 2)
A responds to B (request 2)
B responds to A (request 1)
A responds to the original request
Выше приведена типичная переплетенная архитектура микросервисов.Запуск экземпляров докера вручную прекрасно работает на наших локальных тестовых серверах.
В тот момент, когда мы запускаем это в Kubernetes на Azure, мы получаем периодические тайм-ауты (более 60 секунд) для микро-сервисов, вызывающих друг друга через сетевые сервисы Kubernetes.,После истечения времени ожидания повторный запрос часто дает правильные ответы в течение нескольких микросекунд.
Я застрял в этом моменте, так как понятия не имею, что может быть причиной этого.Может ли это быть динамическая маршрутизация?Виртуализированная сеть?Конфигурация Кубернетес?
Есть идеи?