Что происходит за 200 миллисекунд между нажатием «отправить» и получением пуша на вашем телефоне?
Мы привыкли думать, что сообщение просто «улетает» на сервер. На самом деле за доли секунды происходит целая цепочка событий. Каждый этап — это ещё одна точка, которую необходимо контролировать с точки зрения информационной безопасности: защищать запросы и токены, проверять права доступа, контролировать соединения и очереди, следить за тем, какие данные попадают в пуш.
Давайте посмотрим, как выглядит этот путь на примере MULTIPUSHED:
⭕️0–10 мс — сервер заказчика формирует запрос: заголовок, текст, токен авторизации, идентификатор устройства и служебные данные.
⭕️10–20 мс — запрос проходит через сеть и балансировщики и поступает в нужный бэкенд-сервис MULTIPUSHED.
⭕️20–25 мс — сервер MULTIPUSHED проверяет авторизацию, права пользователя и валидность запроса. После этого сообщение попадает в очередь.
⭕️25–40 мс — центр уведомлений обрабатывает очередь, определяет, куда отправить пуш, и передаёт сообщение в собственный транспорт MULTIPUSHED для отправки пуш-сообщений или доступным пуш-провайдерам, например, APNs, FCM, HPK или RuStore.
⭕️40–70 мс — бэкенд MULTIPUSHED проверяет, установлено ли прямое соединение с телефоном, и отправляет пуш-сообщение по протоколу WebSocket Secure.
⭕️70–200 мс — сторонние пуш-провайдеры принимают сообщение, маршрутизируют его через собственную инфраструктуру и доставляют на устройство.
⭕️70–200+ мс — смартфон получает пуш, SDK MULTIPUSHED обрабатывает его и показывает уведомление пользователю.
🦞Пуш действительно может прийти за доли секунды. Но быстро — не значит просто. За каждым уведомлением стоит цепочка, в которой важно контролировать и скорость, и безопасность.
ВКонтакте | MAX | Хабр
Post #1028
424

- 🤔 5
- ❤ 4
- 😁 1