Это руководство сопоставляет размер рабочего пространства с рекомендуемой архитектурой Чат Ракета. Оно объединяет минимальные аппаратные базовые значения из статьи Системные требования с моделями масштабирования из руководств по нескольким экземплярам и микросервисам.
Примечание. Это минимальные базовые значения. Точный расчёт зависит от числа одновременных пользователей и характера нагрузки.
По мере роста числа одновременных пользователей может появиться задержка. Следите за метриками производительности: типичный ранний признак — процесс Node.js Чат Ракета приближается к 100% загрузки CPU, тогда как общая загрузка CPU хоста остаётся низкой. Это ожидаемое поведение: Node.js однопоточный, и один процесс не использует несколько ядер CPU эффективно.
Когда вы видите такую картину, переходите на следующий уровень. Путь зависит от способа развёртывания: в Docker масштабирование идёт за счёт нескольких одинаковых экземпляров за балансировщиком нагрузки, а масштабирование микросервисов требует Kubernetes.
| Одновременные пользователи | Архитектура | Способ развёртывания |
|---|---|---|
| До 500 | Один экземпляр, без высокой доступности | Docker Compose или Podman |
| 500 и более | Несколько экземпляров за балансировщиком нагрузки, высокая доступность | Docker Compose на каждый сервер или Kubernetes |
| Свыше 5000 | Микросервисы с масштабированием отдельных сервисов | Kubernetes с официальным Helm-чартом |
Один экземпляр Чат Ракеты и набор реплик MongoDB на скромном оборудовании. Это соответствует начальному рабочему пространству или небольшому развёртыванию в компании.
Следуйте статье Развёртывание с Docker и Docker Compose. Официальный репозиторий compose включает обратный прокси (Traefik или Nginx) для HTTPS и стек мониторинга с Prometheus, Loki и Grafana.

Архитектура с одним экземпляром (до 500 одновременных пользователей): один контейнер Чат Ракета за обратным прокси, набор реплик MongoDB из трёх узлов и встроенный стек мониторинга.
Примечание. Запуск нескольких экземпляров требует оплаченой лицензии.
Несколько экземпляров Чат Ракета работают одновременно, подключены к общему набору реплик MongoDB и балансируются через обратный прокси, например Traefik. NATS обеспечивает связь между экземплярами. Каждый экземпляр обрабатывает часть входящего трафика, поэтому рабочее пространство использует несколько ядер CPU на одном хосте или в кластере хостов.
Чтобы масштабироваться вертикально на одном большом хосте, запускайте N−1 экземпляров Чат Ракета, где N — число ядер CPU. Полная процедура, включая скользящие обновления без простоя рабочего пространства, описана в статье Запуск Чат Ракета в нескольких экземплярах.

Архитектура высокой доступности (500 и более одновременных пользователей): Traefik распределяет нагрузку между двумя и более экземплярами Чат Ракета, которые используют один набор реплик MongoDB; события между экземплярами передаёт NATS.
Примечание. Масштабирование микросервисов требует оплаченой лицензии.
Базовые компоненты (обработка WebSocket, аутентификация, присутствие, авторизация) работают как независимые сервисы, поэтому узкое место можно масштабировать отдельно, не увеличивая всё сразу.
Начните с Deploy with Kubernetes, затем перейдите к Scaling Rocket.Chat with Microservices.
