Разделите приём событий, выбор получателей/каналов, шаблоны и доставку. Запрос бизнеса фиксируется надёжно, а отправка выполняется асинхронно через очереди и адаптеры провайдеров.
Спроектируй систему отправки нотификаций: архитектура и детальное описание роли каждого сервиса.
Разделите приём событий, выбор получателей/каналов, шаблоны и доставку. Запрос бизнеса фиксируется надёжно, а отправка выполняется асинхронно через очереди и адаптеры провайдеров.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите приём событий, выбор получателей/каналов, шаблоны и доставку. Запрос бизнеса фиксируется надёжно, а отправка выполняется асинхронно через очереди и адаптеры провайдеров.
Policy-сервис проверяет согласия, отписки, quiet hours и лимиты. Orchestrator создаёт задания с idempotency key; renderer формирует версию шаблона и безопасные параметры. Workers каналов отправляют сообщения, учитывают rate limits, retry и dead-letter. Webhooks обновляют статусы доставки с дедупликацией. Нужны outbox на источнике, аудит без секретного содержимого, наблюдаемость задержек и ошибок. Статус «принято провайдером» не равен «доставлено пользователю».