Sobes.tech
Middle+

Тәжірибелік тапсырма: Бірыңғай хабарландыру платформасы (Notification Platform) Контекст Компанияда пайдаланушыларға хабарламалар жіберетін 3 бөлек жүйе бар: 1. CRM — тапсырыстар туралы электронды пошта және push хабарламалар жібереді. 2. Support порталы — Telegram бот арқылы билеттер туралы хабарламалар жібереді. 3. Қауіпсіздік жүйесі — күдікті кірістер туралы SMS хабарламаларын жасайды. Әр жүйе өз логикасын жүзеге асырады: * өз шаблондары, hardcoded алушылар; * орталықтандырылған хабарландыру тарихы жоқ; * пайдаланушылар қайталамалар мен кешігу туралы шағымданады; * бірдей SLA, метрикалар немесе басқару орталығы жоқ. Мақсат Жаңа Notification Platform жобалау: * әртүрлі көздерден (CRM, Support, Security) оқиғаларды жинау; * оларды түрі мен арнасы бойынша (email, SMS, Telegram, push) бағыттау; * шаблондардың біртұтастығын, журналдауды және бақылауды қамтамасыз ету, * SLA-ны қолдау (p95 ≤ 3 секунд жеткізу үшін), * болашақта арналарды кеңейту және масштабтау мүмкіндігін беру. Кандидатқа тапсырма 1. Жүйенің функционалдық талаптарын анықтаңыз. 2. Сенімділік, өнімділік, қателерді өңдеу сияқты функционалдан тыс талаптарды сипаттаңыз. 3. Контексттік диаграмма жасаңыз (C4 деңгейі 2). 4. Секвенциялық диаграмма схемасын қосыңыз. Мысалы, CRM-ден хабарлама жіберу.

sobes.tech AI

Ҷавоб аз AI

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

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

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

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

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

  • Внешние системы: CRM, Support Portal, Security System.
  • Notification Platform:
    • API Gateway / Event Receiver
    • Event Processor / Router
    • Template Service
    • Notification Sender (Email, SMS, Telegram, Push)
    • Logging & Monitoring
    • User Preferences Service

Взаимодействия:

  • Внешние системы отправляют события в Notification Platform.
  • Платформа обрабатывает, маршрутизирует и отправляет уведомления.
  • Логирует результаты и собирает метрики.

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

CRM -> Notification Platform: Отправка события заказа
Notification Platform -> Template Service: Получить шаблон email и push
Notification Platform -> Notification Sender (Email): Отправить email
Notification Platform -> Notification Sender (Push): Отправить push
Notification Sender -> Notification Platform: Статус доставки
Notification Platform -> Logging Service: Записать историю уведомления
Notification Platform -> Monitoring: Обновить метрики SLA