Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: push, broker, fcm, apns, notification, scalability

Как реализовать push‑уведомления в сервисе? Опиши архитектуру этой системы.

Проверяет умение проектировать надёжную систему доставки уведомлений клиентам в реальном времени.

Короткий ответ

Архитектура 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.

  • Безопасное хранение токенов и обработка отписок.

  • Мониторинг и метрики доставки (успех/ошибка).

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    8

Навыки

  • Python

    Python

Ключевые слова

#push

#broker

#fcm

#apns

#notification

#scalability

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.