Проблема, с которой вы сталкиваетесь, может быть решена с небольшими изменениями в вашей архитектуре, применяя принцип инверсии зависимостей .
Предполагая, что этот принцип четко понятен, на уровне архитектуры вместо того, чтобы множественные микро-сервисы взаимодействовали через несколько API, вы должны преодолеть эту прямую зависимость и быть в состоянии, насколько это возможно, избегатьзадать вопрос другим микро-сервисам.
Вы можете сделать это, реализуя архитектуру, управляемую событиями : когда что-то происходит в одном сервисе, этот сервис публикует событие в брокере сообщений (например, RabbitMQ) и другие заинтересованные сервисы могут подписаться на это событие и делать что-то с этой информацией, например, создавать локальную проекцию необходимой информации, чтобы избежать обратного запроса.
Если какой-либо микро-сервис знает всеэто необходимо, вы можете избежать сцепления и правильно масштабировать экосистему. Более того, вы просто сокращаете эту задержку, связывая эти сервисы друг с другом.
Удачи!