Sobes.tech
Middle+

Πρακτική εργασία: Ενοποιημένη πλατφόρμα ειδοποιήσεων (Notification Platform) Πλαίσιο Στην εταιρεία υπάρχουν 3 διασκορπισμένα συστήματα που στέλνουν ειδοποιήσεις στους χρήστες: 1. CRM — στέλνει email και push ειδοποιήσεις σχετικά με παραγγελίες. 2. Portal Υποστήριξης — στέλνει μηνύματα σχετικά με εισιτήρια μέσω του Telegram bot. 3. Σύστημα Ασφαλείας — δημιουργεί SMS ειδοποιήσεις για ύποπτες εισόδους. Κάθε σύστημα υλοποιεί τη δική του λογική: * δικά του πρότυπα, hardcoded παραλήπτες; * χωρίς κεντρική ιστορία ειδοποιήσεων; * οι χρήστες παραπονιούνται για διπλότυπα και καθυστερήσεις; * χωρίς SLA, μετρικές ή κέντρο ελέγχου. Στόχος Να σχεδιαστεί μια νέα πλατφόρμα ειδοποιήσεων που: * συγκεντρώνει γεγονότα από διαφορετικές πηγές (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