Комментарии 4
Недавно изучал SSE как способ решения задачи для хакатона т.к. не хотел использовать WS. Получилось относительно сносно. Спасибо за сравнение!
хорошая статья! в работе приходится проектировать сервис уведомлений и у меня стоит выбор между использованием веб-сокетов (тк нужно не только отправлять уведомления клиентам, но и от клиентов получать факт прочтения/удаления) и sse (в этом случае вероятно отдельными запросами получать факт прочтения/удаления)
не подскажите что в моем случае стоит выбрать?
На мой взгляд, в описанном случае WS немного оверхед и достаточно будет SSE
SSE на мой взгляд будет проще в реализации. Отправляя отдельными http запросами команды прочтения/удаления вы получите больше возможностей:
- возможность предобработки запроса;
- балансировка нагрузки;
- доменная декомпозиция, т.е. за прочтение и удаление могут отвечать разные обособленные друг от друга сервисы;
- прозрайный пайплайн логирования;
- можно удобно собирать аналитику;
- можно в полной мере задействовать всю силу HTTP кодов для обработки кейсов.
При выборе решения поверх websocket вы можете столкнуться с:
- необходимостью реализации прикладного протокола общения между клиентом и сервером либо внедрением одного из websocket фреймворков на пример Socket.IO;
- websocket могут блочить в общественных сетях.
Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport