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.
- Обработка ошибок: логирование ошибок, оповещения о сбоях, fallback-каналы.
- Безопасность: аутентификация источников событий, защита данных пользователей.
- Масштабируемость: горизонтальное масштабирование компонентов.
Контекстная диаграмма (C4 Level 2):
- Внешние системы: CRM, Support Portal, Security System.
- Notification Platform:
- API Gateway для приёма событий.
- Event Processor для маршрутизации.
- Template Manager для шаблонов.
- Notification Dispatcher для отправки по каналам.
- Logging & Monitoring.
- User Preferences Service.
Sequence-диаграмма (отправка сообщения из CRM):
- CRM отправляет событие уведомления в Notification Platform через API.
- API Gateway принимает событие и передаёт его Event Processor.
- Event Processor определяет канал (например, email) и выбирает шаблон из Template Manager.
- Формируется сообщение и передаётся Notification Dispatcher.
- Notification Dispatcher отправляет email через Email Service.
- Статус отправки логируется в Logging & Monitoring.
- Notification Platform возвращает статус CRM.
Такой подход обеспечит централизованное управление уведомлениями, улучшит качество доставки и упростит масштабирование системы.