#03Realtime / Мессенджер
Nest Messenger
Корпоративный мессенджер на Elixir и Phoenix: сотни тысяч одновременных соединений и доставка без потерь.
- Elixir
- Phoenix
- PostgreSQL
- Redis
- React
- Kubernetes
Результаты в цифрах
-
250k
одновременных WebSocket
-
35 мс
средняя доставка
01
Задача
Клиенту нужен был собственный мессенджер внутри контура: без утечек переписки в сторонние сервисы и с гарантией доставки.
02
Решение
Построили backend на Phoenix Channels с присутствием через Phoenix.Presence, историей в PostgreSQL и шардированием комнат. Веб-клиент — на React с офлайн-очередью сообщений.
Ключевые возможности
- 01 Треды, реакции и упоминания
- 02 Поиск по истории переписки
- 03 Статусы присутствия в реальном времени
- 04 Файлы с проверкой антивирусом
- 05 SSO и аудит действий администраторов
- 06 Мобильные клиенты с push-уведомлениями
Технологии
- Elixir
- Phoenix
- PostgreSQL
- Redis
- React
- Kubernetes
Этапы работы
-
3 недели
Прототип и нагрузочная модель
-
8 недель
Ядро мессенджера
-
9 недель
Клиенты и раскатка
Нужно что-то похожее?
Опишите задачу в мессенджере — вернёмся с вопросами, архитектурой и оценкой.