Диалоги

Архитектура и технологический стек
«Диалоги» построены на модульной микросервисной архитектуре с использованием Go (основной бэкенд) и Rust для высоконагруженных компонентов обработки данных. Фронтенд реализован на React 18 с TypeScript, что обеспечивает типобезопасность и предсказуемость поведения интерфейса. В качестве базы данных используется комбинация PostgreSQL (основные сущности) и ScyllaDB (для ленты активности и высокоскоростного обмена).
Отличия от традиционных решений
В отличие от монолитных платформ, «Диалоги» используют принцип event sourcing для всех пользовательских действий. Каждое взаимодействие (создание темы, реакция, сортировка по интересам) записывается как неизменяемое событие. Это даёт полную аудируемость и возможность перестроить ленту в любой момент без потери данных. Конкурирующие решения (например, классические форумные движки) теряют контекст при обновлении алгоритмов сортировки.
- СУБД: PostgreSQL 15 (репликация hot standby) + ScyllaDB 5.2 (NoSQL для временных рядов).
- Кэширование: Redis Cluster с шардированием по пользовательским сессиям.
- Поиск: Elasticsearch 8.x с пользовательскими анализаторами для русского и английского языков.
Материалы разработки и инфраструктура
Все сервисы контейнеризированы с помощью Docker и оркестрируются в Kubernetes (AWS EKS). Используются исключительно SSD-диски NVMe для хранения индексов и оперативных данных — это обеспечивает задержки не более 5 мс при запросах к ленте. CI/CD реализован на GitLab с обязательным прохождением статических анализаторов (SonarQube, Golangci-lint) и нагрузочных тестов перед выкаткой в production.
Качество кода контролируется через автоматизированные ревью с метриками: покрытие тестами не ниже 85%, отсутствие критических уязвимостей по OWASP Top 10. Каждый пуш в репозиторий вызывает сборку и прогон 2000+ интеграционных тестов за 4 минуты.
Стандарты безопасности и соответствие
Платформа сертифицирована по стандарту ISO 27001 в части управления информационной безопасностью. Для шифрования данных используется TLS 1.3 на всех уровнях, а пароли хранятся исключительно в виде bcrypt-хешей с фактором стоимости 12. В отличие от аналогов, «Диалоги» реализуют аппаратное шифрование на уровне дисков для всех пользовательских данных через LUKS с ключами в AWS KMS.
- Стандарт хранения: ГОСТ 28147-89 (криптография) для данных российских пользователей, AES-256 для международных.
- Аудит: Ежеквартальные независимые пентесты и анализ кода на наличие уязвимостей типа Race Condition.
- Производственные метрики: SLA 99.97% uptime, RPO (точка восстановления) не больше 1 секунды, RTO (время восстановления) — до 60 секунд.
Различия в реализации сортировки по интересам
Алгоритм сортировки контента использует не коллаборативную фильтрацию (как у большинства соцсетей), а графовую базу знаний на основе ArangoDB. Пользовательские теги и темы связываются через взвешенные рёбра, где вес определяется частотой взаимодействия и временным фактором. Это исключает «пузырь фильтров» и даёт более разнообразную ленту по сравнению с ML-подходами, которые склонны к зацикливанию на однотипном контенте.
Добавлено: 08.05.2026
