Как устроен FlowRoom
Для админов и ИТ: какие протоколы, где серверы и где хранятся данные.
Три хоста
- flowroom.team — сайт и страница статуса.
- cabinet.flowroom.team — само приложение: доски и созвоны.
- api.flowroom.team — API, поток изменений, сигналинг созвонов и TURN.
Всё отдают наши собственные серверы. Серверы находятся в России, данные хранятся там же.
Синхронизация доски
- Ваши правки
Уходят на сервер обычными HTTP POST-запросами.
- Правки коллег
Приходят к вам потоком Server-Sent Events — по одному долгому HTTPS-соединению.
- Запасной режим
Если поток не проходит (обычно из-за прокси), клиент сам переходит на short-poll и запрашивает изменения раз в 1,5 секунды.
Всё работает поверх обычного HTTPS на 443-м порту — отдельных протоколов разрешать не нужно.
Созвоны
- Один на один
WebRTC напрямую между участниками (P2P).
- Группа
Mesh: каждый участник обменивается потоками с каждым через наш TURN-сервер (coturn) на api.flowroom.team.
- Сигналинг
Так же, как у доски: HTTP POST в одну сторону, SSE — в другую.
- Шифрование
Медиа шифруется DTLS-SRTP. Подробнее — о безопасности.
На «Команде» созвоны идут через приоритетный пул ретрансляции, на «Бизнесе» по запросу выделяем отдельный TURN-узел.
Записи созвонов
Запись ведётся в браузере того, кто её включил (MediaRecorder, формат WebM). После остановки файл загружается на сервер FlowRoom и появляется в разделе «Записи».
- Почему именно так?
- POST и SSE — это обычный HTTPS. Его проще пропустить через корпоративные прокси, а если поток всё-таки режется, остаётся запасной short-poll.
- Что открыть в файрволе?
- Полный список хостов и портов — в статье «Корпоративная сеть».