Ускорить цепочку A → B, не теряя вызовы

System designSenior45 минпроверка — Спринт18-t003

Цепочка вызовов: клиент → ServiceA → ServiceB (gRPC). Вызовы в ServiceB терять нельзя, но выполняются они долго, и задержку чувствует конечный пользователь. Как ускорить обработку и быстрее вернуть ответ клиенту, если менять ServiceB нельзя? По ходу интервью:

  • А если ServiceB сам начинает подтормаживать?
  • А ночью, когда нагрузка ниже, как подстраивать лимит динамически?

Порядок, которого ждут: уточни требования → оцени нагрузку → API и данные → схема компонентов → узкие места и отказ. Не прыгай сразу в Kafka.

⌘ Enter — проверить