модуль 6 из 6 · Акт III · ~30 мин · 7 решений

сцена

Понедельник. Иван шёл в переговорку начинать неудобный разговор — но Тимур его опередил: уже разворачивает на экране трейс одного-единственного оформления заказа.

Тимур
Тимур

Смотри, что я откопал, пока гонял задержки. Один заказ — и вот, сорок сетевых вызовов между сервисом Курьеров и сервисом Заказов. Сорок. На каждый заказ.

Иван листает трейс. Заказы спрашивают Курьеров: свободен ли курьер в районе? какой ближайший слот? почём доставка? успеет ли к слоту? — и так по кругу, туда-сюда, пока не соберётся один заказ.

Гена
Гена

(с нескрываемым удовольствием) Ну что, доигрались в микросервисы? Я предупреждал. Раньше это был один вызов метода внутри процесса — наносекунды. Теперь сорок раундтрипов через пол-датацентра, да ещё поверх всего, что мы неделю чинили: реплики, кворумы, таймауты.

Лера
Лера

У меня один вопрос. Почему оформить заказ стало сложнее, чем запустить спутник?

Иван
Иван

(медленно, глядя на трейс) А что, если мы их обратно сольём? Курьеров и Заказы — в один сервис.

В переговорке повисает тишина. Гена очень медленно поднимает бровь.

сорок вызовов на один заказ
×40 / заказзаказысервискурьерысервис40 раундтрипов на одно оформление

Было — один вызов метода внутри процесса. Стало — сорок раундтрипов по сети.

← карта