Pull to refresh

Comments 9

Никита, привет!

Как всегда, твой доклад был очень интересным и познавательным — спасибо за информацию!

Хочу добавить небольшое уточнение по теме: Server-Sent Events (SSE) — это действительно один из способов взаимодействия сервера и клиента, но в контексте push-уведомлений для мобильных приложений есть нюансы.

Де-факто стандартом для push-уведомлений остаются:

  • FCM (Firebase Cloud Messaging) — для устройств с Google-сервисами,

  • HMS (Huawei Mobile Services) — для устройств Huawei (без Google-сервисов).

Кастомные решения работают нестабильно из-за оптимизации ОС — система может завершать фоновые процессы для экономии ресурсов.

Для ИБ: можно добавить асимметричное шифрование (например, RSA). Данные шифруются перед отправкой, передаются через FCM/HMS в зашифрованном виде (например, в base64), а расшифровка происходит уже на клиенте с помощью второго ключа.

От Web flux наоборот стоит отказываться, ребята из нетфликс, которые были его основными идеологами специально ушли от него на виртуальные потоки и перестали контрибьютить в эту технологию из-за сложности разработки, отладки и поддержки кода на нем.

+1 выпилили у себя webflux в нагруженном апи и заменили на loom. Все работает отлично (java 24)

Упрощает разработку, поддержку, чтение кода. Синхронный код и аналитики и тестировщики понимают чаще всего.

Уже есть LTS 25 c отшлейфованными Virtual Threa :)

Если тема интересна, могу сделать исследование в контексте того же SSE c Virtual Threads vs WebFlux.

На рисунке наглядно представлено, как Polling, WebSocket и SSE нагружают сеть передаваемыми данными просто при простое «туннеля». А поскольку, мы хотим систему, работающую в энтерпрайз окружении, где каждый лишний байт, помноженный на милионное количество клиентов, может выстрелить нам в ногу, выбираем решение, наименее сильно нагружающее сеть – SSE.

Я конечно извиняюсь но разве не WebSockets решение наименее нагружающее сеть?

Или все же SSE был выбран потому что он проще в применении?

Спасибо, за замечание!
Я честно говоря даже не обратил внимание, когда искал источник..)
Да, согласно исследованию автора так и есть, однако он приводил сравнение поллинга и со стриминг технологиями, и не стал соблюдать точность в исследовании разницы между WS и SSE, так как технически Websocket передает в "тунеле" намного больше технической информации чем SSE.
Думаю, стоит заменить данную ссылку или попрпавить график.

И да, SSE намного проще в применении на обоих сторонах на беке и на фронте.

Sign up to leave a comment.

Articles