Перейти к основному содержимому

Общие сведения

Назначение ПО

ПКК 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 (хранилище файлов)

    Типовая схема развертывания YuChat размещена ниже (рис. 1)

    Диаграмма развертывания

Диаграмма развертывания (рис. 1)