#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

Этапы работы

  1. 3 недели

    Прототип и нагрузочная модель

  2. 8 недель

    Ядро мессенджера

  3. 9 недель

    Клиенты и раскатка

Нужно что-то похожее?

Опишите задачу в мессенджере — вернёмся с вопросами, архитектурой и оценкой.