С чего начинается проектирование архитектуры?
▫️ Выделяем сервисы и их зону ответственности
▫️ Определяем, где будут интеграции
▫️ Уточняем их БД и ФХ
▫️ Фиксируем всё на схеме архитектуры.
А далее надо определяться с их внутренним взаимодействием: хореография, оркестрация, прямые вызовы по API...
Поэтому сделаем первые шаги в построении архитектуры платформы AdFlowGA, чтобы на её примере далее разбираться с хореографией и оркестрацией.
👉 Что важно на схеме архитектуры:
1) Выделенный сервис Авторизации.
За пределами API Gateway.
2) Для всех сервисов подобраны API
REST, HTTP, gRPC, GraphQL — выбор зависит от нагрузки, сценария и требований к задержкам.
3) У каждого МС (микросервиса) своя БД
В реальных системах часто одна физическая БД, но разные схемы и строгая изоляция на уровне доступа.
4) У каждого МС своё ФХ
В данном случае это уместно, но часто делают общие ФХ на несколько МС.
❗️ Пока не показаны внутренние взаимодействия между МС, но они есть.
👉 Описание микросервисов
1️⃣ МС Авторизации и Аутентификации
Обеспечивает вход пользователей в систему (логин/пароль, OAuth через Google и Яндекс), управление сессиями и токенами.
2️⃣ МС Аккаунты пользователей
Хранит профили пользователей, их роли, принадлежность к организациям и настройки доступа.
3️⃣ МС Креативы / Объявления
Управляет созданием, редактированием и хранением рекламных креативов и их версий.
4️⃣ МС Рекламные кампании
Отвечает за управление кампаниями (периоды, бюджеты, статусы, связи с объявлениями).
5️⃣ МС Валидатор рекламных креативов / объявлений
Проверяет креативы на соответствие форматам, правилам и ограничениям (в том числе через LLM — YandexGPT). Проверяет URL - ссылки на объявления.
6️⃣ МС Модерации
Организует процесс ручной проверки объявлений, управление статусами и историей решений.
7️⃣ МС Маркировки
Интегрируется с ОРД для регистрации рекламы и получения ERID.
8️⃣ МС Отчёты по маркировке
Формирует и отправляет обязательные отчёты по рекламе в ОРД/ЕРИР.
9️⃣ МС Реестр контрагентов (рекламодателей)
Хранит данные рекламодателей и договоров, необходимые для корректной передачи информации в ОРД.
🔟 МС Коннектор к рекламным площадкам
Обеспечивает интеграцию с внешними рекламными платформами (VK Ads, Telegram Ads, Yandex Direct).
1️⃣1️⃣ МС Биллинг
Отвечает за резервирование бюджета, списания и расчёт расходов рекламных кампаний. Пополнение баланса рекламного аккаунта через Т-Банк.
1️⃣2️⃣ МС Отчёты
Формирует пользовательские отчёты по кампаниям и размещениям.
1️⃣3️⃣ МС Статистика
Собирает и хранит статистику показов, кликов и других метрик с рекламных площадок.
1️⃣4️⃣ МС Уведомления
Отправляет системные уведомления пользователям (статусы, ошибки, события).
1️⃣5️⃣ МС Тех поддержки
Обрабатывает обращения пользователей и хранит историю тикетов.
1️⃣6️⃣ МС Аудита
Фиксирует действия пользователей и системные события для контроля и расследований.
1️⃣7️⃣ API Gateway
Маршрутизация запросов от клиентов Backend на микросервисы.
👉 Нотация моделирования: CR (упрощение от C4)
А теперь главный вопрос:
где здесь будет уместна хореография, а где без оркестрации не обойтись?
В следующих постах будем переводить схему в нотацию C4, добавлять брокеров и определяться с внутренними взаимодействиями 🙌
#АрхитектураGA