TurboStreams: от ActionCable к CDN+SSE Владислав Кузнецов, Uscreen. Ruby Russia 2023
Владислав Кузнецов / Backend Developer в Uscreen
В 2023 году ActionCable и Hotwire уже хорошо зарекомендовали себя для realtime решений. Мы в Uscreen делаем системы трансляции видео, вокруг которых нужно писать много realtime штук: чаты, AI ассистенты, прогресс-бары итд. В мире победившего Kubernetes масштабирование ActionCable становится нетривиальной инженерной задачей. В докладе я расскажу нашу историю отказа от веб-сокетов в пользу “server sent events“. Первое время мы использовали Caddy и Mercury, но несколько месяцев назад перешли на полностью облачное решение от fastly. Я расскажу, как можно недорого получить хороший hotwire транспорт, масштабирующийся на десятки тысяч пользователей в наших онлайн решениях.
00:00 Введение
01:18 Проблема realtime сервисов
01:57 Особенности наших процессов разработки
02:27 Как обычно делается realtime в Rails
03:39 Почему мы не пошли этим путем
04:27 SSE: конкурент WebSockets для realtime
06:03 SSE не обязательно делать в запросах Rails
06:33 Отодвигаем SSE в сторону CDN
06:58 Fanout
07:30 Цена вопроса
07:54 Наш велосипед: делаем SSE удобным
08:43 Выводы
09:50 QA сессия
1 view
637
175
1 year ago 00:15:01 105
TurboStreams: от ActionCable к CDN+SSE — Владислав Кузнецов, Uscreen. Ruby Russia 2023