Архитектура и системы
Архитектура до и после: диаграмма миграции
«Архитектура: до и после» показывает миграцию двумя снимками на общей сетке и журналом изменений между ними. Изменения кодируются контуром, пунктиром и бейджем, а не цветом, поэтому акцент остаётся за компонентом, вокруг которого строится миграция.
Когда использовать
- Дизайн-ревью миграции: монолит на сервисы, смена очереди или базы
- Объяснение изменений архитектуры в RFC или релизной заметке
- Согласование с соседними командами: какие связи появятся и исчезнут
- Отчёт о завершённой миграции для руководства
Как с ней работать в Dele
- Компонентов (components) — до 8 уникальных. Статус: без изменений, добавлен (только «после»), удалён (только «до») или изменён — с новым подстрочником или названием и текстом изменения.
- Положение задаётся на общей сетке из 3 колонок; «после» копирует его. Задавайте colAfter и rowAfter, только если перенос — часть истории.
- Связей (relations) — до 10, у каждой свой id. Статусы те же плюс rewired — переподключение к другим концам. Замена компонента — это удаление и добавление с новым id.
- Журнал изменений собирается автоматически, не больше 8 записей. Пишите суть: «Orders API v1 → v2», а не «обновлён».
- Акцент (1–2) — компонент в центре миграции.
Три способа собрать диаграмму
Словами. Откройте ИИ-ассистента в редакторе или подключите своего агента по MCP и опишите задачу, например:
«Покажи миграцию исполнения заказов до и после: монолит Orders разделяем на Orders API v2 и Fulfillment, RabbitMQ заменяем на Kafka. Акцент на Orders API.»
В редакторе. Создайте диаграмму из шаблона «Архитектура: до и после», меняйте элементы на холсте и в панели справа — раскладка пересчитывается сама.
Кодом. Диаграмма — это JSON-спецификация. Её можно править в панели «Спецификация», генерировать скриптом и хранить в git.
Спецификация примера (JSON)
{
"type": "architecture-delta",
"title": "Исполнение заказов: до и после",
"description": "Миграция исполнения заказов: Orders API переходит с прямой отправки на очередь, старый диспетчер удалён, появилась очередь, обработчик перенесён.",
"beforeTitle": "До",
"beforeNote": "Синхронная отправка · v1",
"afterTitle": "После",
"afterNote": "Исполнение через очередь · v2",
"components": [
{
"id": "storefront",
"label": "Витрина",
"sublabel": "web:v1",
"col": 1,
"row": 0
},
{
"id": "api",
"label": "Orders API",
"sublabel": "/orders · v1",
"sublabelAfter": "/orders · v2",
"status": "changed",
"col": 1,
"row": 1,
"change": "Orders API v1 → v2",
"focal": true
},
{
"id": "legacy",
"label": "Диспетчер",
"sublabel": "dispatcher:v1",
"status": "removed",
"col": 1,
"row": 2,
"change": "Старый диспетчер выведен"
},
{
"id": "queue",
"label": "Очередь заказов",
"sublabel": "durable · at-least-once",
"status": "added",
"col": 1,
"row": 2,
"change": "Надёжная очередь заказов"
},
{
"id": "worker",
"label": "Обработчик",
"sublabel": "fulfilment:v1",
"col": 0,
"row": 3,
"colAfter": 2,
"moveNote": "Обработчик: слева → справа"
},
{
"id": "db",
"label": "База заказов",
"sublabel": "PostgreSQL",
"col": 1,
"row": 4
}
],
"relations": [
{
"id": "r1",
"from": "storefront",
"to": "api",
"label": "HTTPS"
},
{
"id": "r2",
"from": "api",
"to": "legacy",
"toAfter": "queue",
"status": "rewired",
"change": "Orders API: диспетчер → очередь"
},
{
"id": "r3",
"from": "legacy",
"to": "worker",
"status": "removed",
"change": "Диспетчер → обработчик"
},
{
"id": "r4",
"from": "queue",
"to": "worker",
"status": "added",
"change": "Очередь → обработчик"
},
{
"id": "r5",
"from": "worker",
"to": "db",
"label": "SQL"
}
],
"legendNote": "Id сохраняются между снимками; штрих кодирует изменение, не протокол."
}Когда выбрать другой формат
- Один снимок системы без изменений — обычная архитектурная схема → Архитектура
- Порядок выкатки, сроки и откат — таймлайн или диаграмма Ганта → Таймлайн
Вопросы о формате
Как отмечаются изменения, если не цветом?
Контуром, пунктиром и бейджами. Цвет остаётся для одного-двух акцентов, поэтому схема спокойная даже при большом числе изменений.
Можно ли описать порядок шагов миграции?
Нет, это снимки состояния, а не план. Порядок и сроки лучше показать таймлайном или диаграммой Ганта.