ОБЩИЕ СВЕДЕНИЯ
Назначение ПО
ПКК YuChat разработан для обеспечения стабильной и высококачественной связи среди
сотрудников компании, а также для уменьшения вероятности утечек информации путем
переноса коммуникационных каналов с интернета в границы внутренних корпоративных
сетей.
Основные функции
YuChat реализует следующие функции:
● быстрый обмен пользователей текстовыми сообщениями и файлами с помощью
мобильных устройств и веб-клиента на ПК в рамках персональных и групповых
чатов;
● осуществление персональных и групповых аудио- и видеозвонков;
● запись, расшифровка и хранение проведенных аудио- и видеозвонков;
● индикация присутствия и текущей активности пользователя в системе
Основные компоненты
ПКК YuChat включает следующие отдельно устанавливаемые компоненты:
● основное серверное приложение (управляет данными в системе)
● приложение для записи видео- и аудио-заметок;
● приложение для пост-обработки записей аудио- и видеозвонков;
● комплекс из трех приложений для обеспечения голосовой и видеосвязи между
пользователями (WebRTC);
● приложение для доставки уведомлений и текстовых сообщений в реальном
времени;
● мобильные приложения (iOS, Android);
● десктоп-приложение;
● веб-приложение;
Управление комплексом осуществляется с помощью веб-интерфейса — консоли
администратора, которая предоставляет возможности для настройки YuChat и контроля
функционирования приложения.
Архитектура
Серверная часть YuChat основана на микросервисной архитектуре с использованием
контейнеризации на основе Docker/Docker Swarm.
Для всех вариантов развертывания системы серверная часть размещается в сети
Интернет и содержит в себе следующие контейнеры:
● ws-endpoint-service (сервис для подключения и обмена информацией с клиентскими
приложениями в реальном времени с помощью websocket)
● web (веб-приложение)
● nginx-static (вспомогательные веб-страницы)
● mediahub (управление состоянием аудио и видеозвонков)
● media-composer (пост-обработка записей аудио и видеозвонков)
● freeswitch (сервис микширования аудио треков)
● webrtc (сервис обмена видео трафиком)
● backend (основной сервис управления данными в системе)
● avnotes-streaming (сервис приема и конвертации аудио и видео заметок)
● postgresql (БД для хранения данных системы)
● traefik (точка входа в кластер, reverse proxy)
● rabbitmq (брокер обмена сообщениями между сервисами)
● rabbitmq_exporter (сервис для экспорта статистики из rabbitmq в prometheus)
● postgresql_exporter (сервис для экспорта статистики из postgresql в prometheus)
● prometheus (сервис хранения статистики сервисов)
● redis (сервис кэширования часто используемых данных)
● redis_prometheus (сервис для экспорта статистики из redis в prometheus)
● minio (хранилище файлов)