Назад к вопросам
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-диаграмма (пример отправки сообщения):
- Источник события (например, CRM) отправляет событие в Notification Platform.
- Event Aggregator принимает событие.
- Router определяет канал и тип уведомления.
- Template Manager формирует сообщение по шаблону.
- Delivery Service отправляет уведомление через выбранный канал.
- Logging фиксирует событие и статус доставки.
- Monitoring обновляет метрики и SLA.
Такое решение позволит централизовать уведомления, улучшить качество доставки и упростить управление системой.