bitrix-code
Архитектура

Как построить кластер Битрикс24 на 10 000 пользователей

Иван Карелин, CTO17 мин

Собственная инсталляция Битрикс24 на 10 000 пользователей — это не просто "более мощный сервер". Это распределённая система с высокой доступностью. Расскажем, как мы строим такие кластеры.

Общая архитектура

Три слоя: входные прокси (HAProxy), приложения (PHP-FPM на нескольких нодах), данные (MySQL Galera Cluster). Плюс Redis Sentinel для кеша и сессий.

HAProxy как балансировщик

Два HAProxy в failover-паре через keepalived. Health-чеки приложений, sticky sessions, SSL-терминация.

Приложения — stateless

3–5 нод app-серверов. Сессии и загружаемые файлы — вне ноды (в Redis и на NFS/Ceph). При падении одной — нагрузка распределяется.

MySQL Galera Cluster

3 ноды синхронной репликации. Кворум голосований предотвращает split-brain. Каждая нода принимает запись — никаких мастер/слейв.

Redis Sentinel

3 Redis ноды с автоматическим failover. Sentinel следит за мастером, при сбое продвигает slave.

Бэкапы и DR

Резервный ЦОД с асинхронной репликацией. Переключение за 15 минут при катастрофе.

Мониторинг

Prometheus + Grafana. Алерты в Slack/Telegram. Основные метрики: latency p95, RPS, error rate, replication lag.