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

сцена

Разбор пятничного инцидента. На доске — та самая закономерность Тимура: ломалось только там, где новую зону встречала старая оболочка.

Тимур
Тимур

Восстанавливаю хронику. Трейдеры открывают терминал и живут в нём — вкладки не перезагружаются днями, у некоторых неделями. В 14:20 прогнозы выкатывают новую версию зоны: обновлённая библиотека графиков внутри неё ждёт от оболочки свежий метод загрузки шрифтов. Сам метод выехал в оболочке неделю назад. У всех, кто открывал терминал на этой неделе, он есть. А у вкладок, живущих с прошлой недели, оболочка старая — метода нет, зона падает при загрузке.

Кира
Кира

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

Тимур
Тимур

Добро пожаловать в распределённые системы, Кира. У нас во втором акте было то же самое: rolling deploy, старый и новый код живут вместе, и совместимость соседних версий — часть контракта. Только у вас хуже: моими репликами управляю я, а ваши «реплики» — это вкладки трейдеров, которыми управляют сами трейдеры и которые никто не перезагружает неделями.

Кира
Кира

(после паузы) Так. Значит, деплой зоны — это не «заменить версию». Это «добавить версию в мир, где старые ещё живут». Иван, скажи, что у вас в бэкендных актах есть готовый учебник на этот случай.

Иван
Иван

Есть. Десятый модуль, только добавляй. Тринадцатый, отставание реплик. И один новый пункт, чисто ваш: реплику-вкладку нельзя ни перезапустить, ни дождаться — можно только уважать.

← карта