WebSocket даёт двусторонний канал, SSE — поток событий от сервера к браузеру поверх HTTP, gRPC Streaming — типизированные RPC-потоки. Выбор зависит от направления данных, клиентов и инфраструктуры.
WebSocket, SSE и gRPC: направление и типизация потоков
WebSocket даёт двусторонний канал, SSE — поток событий от сервера к браузеру поверх HTTP, gRPC Streaming — типизированные RPC-потоки. Выбор зависит от направления данных, клиентов и инфраструктуры.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
WebSocket даёт двусторонний канал, SSE — поток событий от сервера к браузеру поверх HTTP, gRPC Streaming — типизированные RPC-потоки. Выбор зависит от направления данных, клиентов и инфраструктуры.
Для уведомлений и текстового progress часто достаточно SSE; браузерный EventSource поддерживает переподключение, но восстановление пропусков требует серверной логики. Для интерактивного обмена выбирают WebSocket с собственными heartbeat и протоколом восстановления. gRPC удобен между сервисами и нативными клиентами; браузерный доступ имеет ограничения и отдельные решения. Везде нужны backpressure, авторизация, лимиты соединений и проверка proxy timeout. Соединение само по себе не гарантирует сохранность событий.