Как построить кластер Битрикс24 на 10 000 пользователей
Собственная инсталляция Битрикс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.