теория

Три оси не стоят на месте

Смотри, тут курс замыкает круг — и это красиво. Помнишь формулу баланса из защиты плана? держится на трёх осях: сила, дистанция, волатильность. А теперь приложи её к тому, что на экране.

Заказы и Курьеры связаны сильно: они делят одну логику — как назначить курьера на заказ. И связаны часто: сорок перекличек на оформление. Полгода назад это жило в одном процессе — была крошечной, и сильная связь ничего не стоила. А потом мы разнесли их по сервисам, и дистанция стала огромной.

Сильная связь на большой дистанции — это , тот самый худший угол формулы: . Изменишь логику назначения — и правки поедут через два сервиса, две команды и сеть между ними.

Хорошая новость: у тебя два рычага, чтобы вернуть баланс, и оба честные.

  • Снизить . Огрубить контракт: пусть Заказы шлют одну команду «назначь курьера на этот заказ» вместо сорока вопросов. Меньше делится знания — слабее связь. Это переход от связи к , и дистанцию можно оставить.
  • Снизить дистанцию. Слить сервисы обратно в один процесс. Связь останется сильной — но станет дешёвой, потому что вызовы снова внутренние.

Какой рычаг тут дешевле? Логика назначения у Заказов и Курьеров по смыслу одна: растащить её тонким контрактом трудно — они правда думают об одном. Значит, дешевле сократить дистанцию. Это и есть связанности (слово то же, что при переезде партиций в четырнадцатом модуле, но смысл шире): не «резать» и не «не резать», а подкрутить ту ось, которая съехала.

← назад