Какие архитектурные стили существуют кроме микросервисов и саги
Что проверяют
Понимаете ли вы, как стиль архитектуры меняет требования, интеграции и поведение системы для бизнеса, и знаете ли, что сага это паттерн, а не стиль. Аналитика следом спрашивают, как выбор стиля отразится на постановке задачи и на согласованности данных.
Как отвечать
Коротко поправьте рамку: сага ведёт длинную бизнес-операцию через несколько сервисов, и у каждого шага есть компенсирующее действие. Затем стили, и для каждого, что это значит для аналитика:
- монолит и модульный монолит: одна база, ACID-транзакции, данные согласованы сразу. Требования проще, но изменение в одном модуле задевает соседей, если границы не соблюдают;
- слоистая архитектура: интерфейс, логика, данные. Удобно описывать, где выполняется правило валидации или расчёта;
- SOA: крупные сервисы и корпоративная шина (ESB), которая маршрутизирует и преобразует сообщения. Аналитик описывает канонические модели данных и контракты сервисов;
- событийно-ориентированная (EDA): системы публикуют события в Kafka или RabbitMQ, подписчики реагируют сами. Появляется eventual consistency: в требованиях нужно прописать, что видит пользователь, пока данные не догнали друг друга, и что делать с повторной доставкой;
- CQRS: отдельные модели записи и чтения. Отчёты и витрины могут отставать, и это тоже требование;
- pipes and filters, ETL: обработка данных цепочкой шагов, типичный случай для хранилищ и регулярных загрузок;
- serverless: функции под события, аналитику важны лимиты времени выполнения и холодный старт.
Покажите, как вы это документируете: модель C4 для контекста и контейнеров, диаграммы последовательности для взаимодействий, ADR для принятых решений, AsyncAPI для событий рядом с OpenAPI для REST.
Где спотыкаются
Называют «плоскую архитектуру» стилем. Такого устоявшегося стиля нет, и интервьюер это знает.
Перечисляют стили без связи с нефункциональными требованиями: нагрузкой, доступностью, требованиями к согласованности и скоростью вывода изменений.
Не отличают оркестрацию от хореографии и не могут показать, где в требованиях появляется компенсация, например отмена резерва после неудачной оплаты.