Sobes.tech
Назад к вопросам
Middle+
3

* нет централизованной истории уведомлений; * пользователи жалуются на дубли и задержки; * нет единого SLA, метрик и центра управления. Цель Спроектировать новую Notification Platform, которая: * агрегирует события из разных источников (CRM, Support, Security); * маршрутизирует их по типу и каналу (email, SMS, Telegram, push); * обеспечивает единообразие шаблонов, логирование и наблюдаемость; * поддерживает SLA (p95 ≤ 3 сек на доставку); * допускает масштабирование и расширение каналов в будущем. Задача для кандидата 1. Определите функциональные требования системы. 2. Опишите нефункциональные требования (надежность, производительность, обработка ошибок). 3. Составьте контекстную диаграмму (C4 Level 2). 4. Добавить схему sequence-диаграмму. Например отправка сообщения из с

Компании, где спрашивали
Каргономика

Ответ от нейросети

sobes.tech AI

Функциональные требования:

  • Приём и агрегация событий из различных источников (CRM, Support, Security).
  • Классификация и маршрутизация уведомлений по типу и каналу (email, SMS, Telegram, push).
  • Управление шаблонами уведомлений с возможностью единообразного редактирования.
  • Логирование всех событий и действий для аудита и отладки.
  • Метрики и мониторинг (включая SLA, например p95 ≤ 3 сек на доставку).
  • Поддержка масштабируемости и расширяемости (добавление новых каналов).

Нефункциональные требования:

  • Надёжность: система должна быть устойчива к сбоям, с механизмами повторной отправки и резервирования.
  • Производительность: обработка и доставка уведомлений в пределах SLA.
  • Обработка ошибок: детальный лог ошибок, уведомления об ошибках, возможность отката.
  • Безопасность: защита данных пользователей и каналов связи.

Контекстная диаграмма (C4 Level 2):

  • Внешние системы: CRM, Support, Security (источники событий).

  • Notification Platform:

    • Event Aggregator
    • Router (маршрутизация по каналам)
    • Template Manager
    • Delivery Services (Email, SMS, Telegram, Push)
    • Logging & Monitoring
  • Пользователи и администраторы (через UI или API для управления и мониторинга).


Sequence-диаграмма (пример отправки сообщения):

  1. Источник события (например, CRM) отправляет событие в Notification Platform.
  2. Event Aggregator принимает событие.
  3. Router определяет канал и тип уведомления.
  4. Template Manager формирует сообщение по шаблону.
  5. Delivery Service отправляет уведомление через выбранный канал.
  6. Logging фиксирует событие и статус доставки.
  7. Monitoring обновляет метрики и SLA.

Такое решение позволит централизовать уведомления, улучшить качество доставки и упростить управление системой.