Проверяет умение проектировать надёжную систему доставки уведомлений клиентам в реальном времени.
Архитектура push‑уведомлений включает: сервис событий (генератор событий), брокер (Kafka/Redis Streams) для буферизации, Notification Service для формирования payload, адаптеры (FCM, APNS, Web Push) и клиентские SDK для регистрации токенов. Клиент регистрирует токен, сервер публикует событие, Notification Service читает из брокера и отправляет через соответствующий адаптер.
Компоненты:
Client SDK: получает токен устройства и отправляет на бэкенд.
Event Producer: микросервис, создающий событие (новое сообщение, статус заказа).
Message Broker: Kafka или Redis Streams для масштабируемой обработки.
Notification Service: потребляет события, собирает целевые токены и форматирует payload.
Push Adapters:
FCM (Firebase Cloud Messaging) для Android/Web
APNS для iOS
Web Push API для браузеров
Поток данных:
Клиент регистрируется и сохраняет токен.
Событие публикуется в брокер.
Notification Service читает событие, выбирает токены получателей.
Отправляет запросы в FCM/APNS/Web Push.
Платформы доставляют уведомления на устройства.
Особенности:
Retry‑механизм на неудачные отправки.
Горизонтальное масштабирование Notification Service.
Безопасное хранение токенов и обработка отписок.
Мониторинг и метрики доставки (успех/ошибка).