Один сервер не может масштабироваться бесконечно. При пиковых нагрузках сайт падает или отвечает за 10+ секунд — вертикальное масштабирование упирается в стоимость и физические ограничения. Мы специализируемся на горизонтальном масштабировании Битрикс: проектируем и настраиваем кластерные конфигурации под ключ. За 10 лет мы помогли более 50 проектам перейти на кластер — гарантируем прирост производительности в 2-3 раза. Экономия на серверном оборудовании достигает 30–50% за счёт использования типовых серверов вместо монолитных монстров. Вложения в кластер окупаются за 3-6 месяцев за счёт снижения простоев. Оценим ваш проект за 1 день — просто свяжитесь с нами.
Почему без кластера не обойтись?
Если ваш проект обрабатывает более 10 000 уникальных посетителей в час или требует отказоустойчивости 99.9%, кластер — единственное разумное решение. Битрикс поддерживает веб-кластер из коробки, но его грамотная настройка требует опыта. Например, в ходе недавнего кейса мы масштабировали интернет-магазин с нагрузкой 50 000 уникальных посетителей в день. После развёртывания кластера из трёх веб-нод время ответа снизилось с 8 секунд до 1.2 секунды, а отказоустойчивость достигла 99.95%.
Архитектура кластера Битрикс
Стандартная схема для highload:
[Load Balancer]
/ | \
[web-1] [web-2] [web-3]
| | |
[Shared Storage - NFS/GlusterFS]
|
[DB Master] ---> [DB Replica-1]
---> [DB Replica-2]
|
[Memcached / Redis Cluster]
[Elasticsearch Cluster]
Все веб-узлы работают с одним хранилищем файлов, общей БД и общим кэшем. Загрузки файлов (изображения, прайсы) попадают в разделяемое хранилище, доступное всем нодам.
Требования к кластеризуемому проекту
До перехода на кластер проверяем:
- Нет хранения данных в
$_SESSIONбез общего хранилища сессий - Нет прямых записей в локальную файловую систему (временные файлы — в
/tmpна shared, кэш — в Memcached) - Нет hardcoded путей, зависящих от конкретного сервера
- Файлы кэша Битрикс (
/bitrix/cache/) смонтированы с NFS или вынесены в Memcached
Настройка модуля веб-кластера
В административной панели: Управление → Производительность → Кластер.
Активация через PHP:
\Bitrix\Main\Loader::includeModule('cluster');
// Регистрируем узлы кластера
$cluster = new \CCluster();
$cluster->Add([
'NAME' => 'web-02',
'HOST' => '10.0.0.12',
'PORT' => 80,
'STATUS' => 'ACTIVE',
]);
Как выбрать между NFS и GlusterFS?
| Характеристика | NFS | GlusterFS |
|---|---|---|
| Простота настройки | Высокая | Средняя |
| Отказоустойчивость | Низкая (SPOF) | Высокая (репликация) |
| Производительность | Высокая при малом числе нод | Зависит от конфигурации |
| Подходит для | 2–3 нод, 1 ЦОД | 3+ нод, распределённые ЦОД |
NFS — проще в настройке, подходит для 2–3 нод в одном датацентре:
# На NFS-сервере
apt install nfs-kernel-server
echo "/var/www/bitrix/upload 10.0.0.0/24(rw,sync,no_root_squash)" >> /etc/exports
exportfs -a
# На веб-нодах
apt install nfs-common
mount -t nfs 10.0.0.20:/var/www/bitrix/upload /var/www/bitrix/upload
Монтируем только директории с пользовательским контентом: upload/, cache/ (если не Redis), resize_cache/.
GlusterFS — распределённая FS с репликацией, без единой точки отказа. Сложнее в настройке, но при выходе NFS-сервера кластер остаётся работоспособным. Если важна отказоустойчивость, GlusterFS выигрывает в 2 раза по времени восстановления после сбоя. Подробнее: NFS, GlusterFS.
Сравнение решений для кэша: Memcached vs Redis
| Характеристика | Memcached | Redis |
|---|---|---|
| Тип хранения | In-memory | In-memory + disk persist |
| Поддержка структур | Только ключ-значение | Строки, списки, множества |
| Простота | Высокая | Средняя |
| Производительность | Очень высокая | Высокая (чуть ниже) |
Для Битрикс кластера обычно достаточно Memcached. Redis выбирают, если нужны очереди (list), кэш сессий или pub/sub.
Почему распределённый кэш критичен для кластера?
Без общего кэша каждый веб-узел имеет свой изолированный файловый кэш. После обновления товара инвалидация происходит только на одном узле — остальные отдают устаревшие данные. В результате посетитель может увидеть старую цену. С Memcached кэш единый для всех нод, а инвалидация срабатывает мгновенно на всём кластере.
// /bitrix/.settings.php — единый для всех нод
'cache' => [
'value' => [
'type' => 'memcache',
'memcache' => [
['host' => '10.0.0.30', 'port' => 11211],
['host' => '10.0.0.31', 'port' => 11211],
],
'sid' => 'bitrix_production',
],
],
Важно: согласно официальной документации Битрикс (helpdesk.bitrix24.ru), для кластеров рекомендуется использовать Memcached.
Синхронизация файлов конфигурации
.settings.php, dbconn.php и php_interface/ должны быть идентичны на всех узлах. Используем rsync через cron или ansible:
# Мастер-нода синхронизирует конфиги на остальные
rsync -az /var/www/bitrix/bitrix/.settings.php web-02:/var/www/bitrix/bitrix/
rsync -az /var/www/bitrix/bitrix/.settings.php web-03:/var/www/bitrix/bitrix/
В production-окружениях конфигурация хранится в Git и деплоится через CI/CD одновременно на все ноды.
Типичные ошибки при кластеризации Битрикс
- Использование локального файлового кэша без изоляции — данные затираются между нодами.
- Неправильная настройка балансировщика (например, sticky sessions без общего хранилища сессий).
- Отсутствие мониторинга репликации БД — при сбое мастера просадка по данным.
- Хранение временных файлов (генерация отчётов) в локальной FS — файл доступен только на одной ноде.
Что входит в работу
- Аудит текущей архитектуры и кода на совместимость с кластером
- Проектирование схемы: выбор балансировщика, shared storage, кэша
- Настройка модуля веб-кластера и регистрация узлов
- Развёртывание NFS или GlusterFS, настройка монтирования
- Конфигурация распределённого кэша (Memcached/Redis)
- Настройка репликации БД (Master-Slave)
- Синхронизация конфигураций через CI/CD
- Нагрузочное тестирование и оптимизация
- Документация и инструкции для администраторов
Сроки и стоимость
Проектирование и развёртывание кластера из 3 веб-нод с NFS-хранилищем, репликацией БД и Memcached — 5–10 рабочих дней в зависимости от сложности проекта и текущего состояния инфраструктуры. Стоимость обговаривается индивидуально после аудита. Получите консультацию и предварительный аудит вашего проекта — мы подберём оптимальное решение под ваш бюджет и цели. Закажите оценку прямо сейчас — свяжитесь с нами, и мы в течение дня проанализируем вашу инфраструктуру и предложим план кластеризации.







