ФиксИнтернет-магазин на 1С-Битрикс под ключ за 30 дней по фиксированной цене
Ускорение и производительность

Кластер и балансировка нагрузки: сайт держит рост трафика без падений

Разворачиваем веб-кластер 1С-Битрикс: репликация и шардинг MySQL, балансировка запросов между нодами, синхронизация кеша и сессий через memcached, общий upload и отказоустойчивость. Сайт масштабируется вширь и выдерживает рост трафика без падений в пиковые дни.

10 летна высоконагруженных Битрикс-проектах
99,95%целевой аптайм под нагрузкой
×5запас по трафику после кластера
0простоя при выходе ноды из строя
баланс- ировщик нода 1 нода 2 нода 3 memcached MySQL master MySQL replica трафик
Состав

Что входит в развёртывание кластера

Собираем веб-кластер под вашу нагрузку и архитектуру — от балансировки и репликации базы до общего кеша, сессий и отказоустойчивого хранилища файлов.

Балансировка между нодами

Распределение запросов между несколькими веб-нодами с выводом упавшей ноды из ротации.

Репликация и шардинг MySQL

Master-реплика для разделения чтения и записи, при необходимости — шардинг под объём данных.

Синхронизация кеша и сессий

Общий memcached для кеша и сессий, чтобы пользователь не зависел от конкретной ноды.

Общий upload для всех нод

Папка загрузок выносится в сетевое хранилище и доступна всем нодам кластера одинаково.

Отказоустойчивость узлов

Резервирование нод, кеша и базы так, чтобы отказ любого узла не ронял весь сайт.

Масштабирование вширь

Готовая схема добавления нод под рост трафика без переезда и переписывания проекта.

Подробно об услуге

Кластер и балансировка нагрузки на 1С-Битрикс: что это и зачем

Кластер и балансировка нагрузки на 1С-Битрикс — это перевод сайта с одного уязвимого сервера на группу связанных серверов-нод, которые делят нагрузку между собой и страхуют друг друга. Перед нодами стоит балансировщик: он принимает весь входящий трафик и распределяет посетителей по исправным нодам. Если одна нода перегружена или вышла из строя, балансировщик выводит её из ротации, а остальные подхватывают её трафик. В результате сайт держит рост посещений без падений и не останавливается из-за поломки отдельного узла. Именно для этого в 1С-Битрикс встроен модуль веб-кластера — он позволяет штатно запускать проект на нескольких машинах.

В отличие от покупки одного мощного сервера, который лишь откладывает проблему до следующего потолка, кластер масштабируется вширь: под рост трафика в него просто добавляются новые ноды. У этого подхода нет жёсткого предела по железу, а нагрузка распределяется ровным слоем по всему кластеру. Параллельно решается вопрос отказоустойчивости — единая точка отказа исчезает, потому что веб-ноды, кеш и база данных зарезервированы.

Из чего складывается веб-кластер

Кластер — это не одна настройка, а несколько взаимосвязанных частей, каждая из которых закрывает свой риск. Балансировщик распределяет запросы между нодами и следит за их здоровьем. Репликация MySQL разносит нагрузку на базу: запись идёт на основной сервер master, а тяжёлые выборки каталога и отчёты — на реплики. Общий memcached хранит кеш и сессии единым для всех нод хранилищем, поэтому пользователь не зависит от того, на какую машину его направили. Общий upload выносит загруженные файлы в сетевое хранилище, доступное всем нодам. А модуль веб-кластера Битрикса связывает всё это в штатно поддерживаемую схему.

Главные узлы веб-кластера:

  • балансировка запросов между несколькими веб-нодами с выводом упавшей ноды из ротации;
  • репликация MySQL для разделения чтения и записи, при больших объёмах — шардинг базы;
  • синхронизация кеша и сессий через общий memcached, единый для всех нод;
  • общий upload в сетевом хранилище, чтобы файлы были доступны всем нодам одинаково;
  • отказоустойчивость: резервирование нод, кеша и базы против единой точки отказа;
  • масштабирование вширь — готовая схема добавления нод под рост трафика без переезда.

Кому нужен кластер и балансировка нагрузки

Кластер окупается там, где сайт делает ощутимую выручку и страдает от наплывов трафика. Это интернет-магазины, которые ложатся в чёрную пятницу и распродажи; B2B-порталы, где простой кабинетов контрагентов оборачивается потерей оптовых заказов; медиа-проекты с резкими всплесками посещений после публикаций. Чем дороже стоит каждый час простоя и каждое падение в пик, тем быстрее кластер себя оправдывает. Если же сайт пока живёт на одном сервере и упирается в его потолок при каждой акции, это прямой сигнал к переходу на кластерную архитектуру.

Отдельная ценность — для проектов с высокими требованиями к аптайму. Когда недоступность сайта недопустима даже на минуты, отказоустойчивый кластер с резервированием нод и базы, а при необходимости и с размещением узлов в разных дата-центрах, удерживает сервис в строю даже при серьёзных авариях. Балансировщик исключает упавшую ноду, реплика подхватывает базу, и пользователи в большинстве случаев вообще не замечают сбоя.

Как устроено развёртывание и запуск

Работу мы ведём так, чтобы продажи не останавливались. Сначала снимаем профиль нагрузки и находим узкие места: что тормозит, где упирается база, какие страницы тяжелее всего. На основе этого проектируем архитектуру — число нод, схему репликации, общий кеш и хранилище под вашу фактическую и прогнозную нагрузку. Затем поднимаем ноды и балансировщик параллельно с работающим сайтом, выносим кеш и сессии в memcached, делаем общий upload и убираем зависимости кода от конкретной ноды. Переключение трафика на кластер выполняем в момент низкой нагрузки, чтобы простой был минимальным или нулевым.

Перед сдачей мы не верим настройкам на слово, а проверяем их. Прогоняем кластер под нагрузочным тестированием, имитируя наплыв реальных посетителей, и измеряем, какой трафик он держит. Отдельно проверяем отказоустойчивость — выключаем ноду и показываем, что сайт продолжает работать без простоя. После запуска настраиваем мониторинг нод, базы и кеша с алертами, передаём документацию и схему масштабирования, чтобы добавление новых нод под рост трафика было понятной операцией, а не очередным переездом.

Результат развёртывания кластера и балансировки на 1С-Битрикс — это инфраструктура, которая держит рост трафика без падений, не имеет единой точки отказа и масштабируется добавлением нод по мере роста бизнеса. Сайт остаётся быстрым в пик, заказы не теряются на простоях, а релизы и обслуживание перестают требовать остановки сервиса.

Как это работает

Путь запроса через веб-кластер

Посетитель приходит на балансировщик, тот направляет его на наименее загруженную исправную ноду, нода берёт кеш и сессии из общего memcached, а данные читает с реплики базы или пишет на master.

Трафикпосетители Баланси-ровщик Нода 1 Нода 2 Нода 3 memcached MySQL master MySQL replica общийupload Отказ ноды выводит её из ротации, остальные подхватывают трафик без простоя
Трафик → балансировщик → исправная нода → общий кеш и сессии → реплика и master базы.
Зачем нужен кластер

Где одиночный сервер сдаётся под нагрузкой

Пока сайт живёт на одном сервере, любой всплеск трафика, тяжёлый отчёт или сбой диска роняют весь магазин разом. Веб-кластер 1С-Битрикс распределяет нагрузку между нодами и убирает единые точки отказа.

В акции и распродажи один сервер не тянет наплыв посетителей — сайт тормозит и падает.
Балансировщик распределяет запросы между несколькими нодами, и пиковый трафик размазывается по кластеру.
Любая поломка сервера кладёт весь сайт, а клиенты видят ошибку и уходят к конкурентам.
При отказе ноды балансировщик выводит её из ротации, остальные подхватывают трафик — простоя нет.
База данных захлёбывается на тяжёлых выборках каталога и отчётах в час пик.
Репликация MySQL разносит чтение на реплики, а master разгружается под запись — выборки летают.
После добавления второго сервера слетают авторизации и теряются товары из корзины.
Сессии и кеш выносятся в общий memcached, поэтому пользователь не зависит от того, на какую ноду попал.
Картинки и документы лежат на одном сервере и недоступны другим нодам кластера.
Папка upload делается общей для всех нод через сетевое хранилище — файлы видны отовсюду.
Сравнение

Один сервер, апгрейд железа или веб-кластер

Критерий Один серверМощный серверВеб-кластер B2Bsite
Поведение под нагрузкой Падает в пикДержит дольше, но падаетДержит рост трафика
Отказ узла Полный простойПолный простойРаботает без упавшей ноды
Масштабирование Упирается в потолокДорогой потолокМасштабируется вширь
Эксплуатация ПростаяПростаяСложнее, ведём мы
Экономика Дёшево, но рискованноДорого и временноОкупается на пиках
Этапы работы

Как мы разворачиваем кластер

01

Аудит нагрузки

Снимаем профиль трафика и узкие места: что тормозит, где упирается база и сервер.

02

Архитектура кластера

Проектируем число нод, схему репликации, общий кеш и хранилище под вашу нагрузку.

03

Развёртывание нод

Поднимаем веб-ноды и балансировщик, переносим проект и проверяем работу под трафиком.

04

Кеш, сессии, upload

Выносим кеш и сессии в memcached, делаем общий upload, чистим зависимости от одной ноды.

05

Нагрузочное тестирование

Прогоняем кластер под синтетической нагрузкой и проверяем отказ ноды без простоя сайта.

06

Передача и мониторинг

Настраиваем мониторинг, передаём документацию и схему масштабирования под рост трафика.

Сроки

Сколько занимает развёртывание

2–4 дня Аудит нагрузки и узких мест
1
3–5 дней Проектирование архитектуры кластера
2
1–2 недели Развёртывание нод и балансировщика
3
4–6 дней Кеш, сессии, общий upload, репликация
4
2–4 дня Нагрузочное тестирование и отказоустойчивость
5
постоянно Мониторинг и масштабирование под рост
6
Тарифы

Сколько стоит кластер и балансировка

Стоимость зависит от числа нод, сложности репликации и текущего состояния проекта. Ниже — ориентиры; точную смету присылаем после бесплатного аудита нагрузки.

Балансировка нод
от 90 000 ₽
Срок: от 1 недели

Две веб-ноды за балансировщиком с общим кешем и сессиями.

  • Балансировщик и две ноды
  • Общий memcached для кеша и сессий
  • Общий upload между нодами
  • Базовая отказоустойчивость
Популярный выбор
Веб-кластер
от 180 000 ₽
Срок: от 2 недель

Полноценный кластер с репликацией базы и нагрузочным тестом.

  • Три и более веб-ноды
  • Репликация MySQL master-реплика
  • Разделение чтения и записи
  • Нагрузочное тестирование
  • Отказоустойчивость узлов
  • Мониторинг кластера
Highload-кластер
от 350 000 ₽
Срок: от 4 недель

Кластер под сотни тысяч посетителей со сложной репликацией.

  • Все возможности «Веб-кластер»
  • Шардинг и масштабирование базы
  • Геораспределение и резерв ЦОД
  • Автомасштабирование нод
  • Сопровождение под нагрузкой
Балансировка нод от 90 000 ₽
Срок: от 1 недели

Две веб-ноды за балансировщиком с общим кешем и сессиями.

  • Балансировщик и две ноды
  • Общий memcached для кеша и сессий
  • Общий upload между нодами
  • Базовая отказоустойчивость
Популярный Веб-кластер от 180 000 ₽
Срок: от 2 недель

Полноценный кластер с репликацией базы и нагрузочным тестом.

  • Три и более веб-ноды
  • Репликация MySQL master-реплика
  • Разделение чтения и записи
  • Нагрузочное тестирование
  • Отказоустойчивость узлов
  • Мониторинг кластера
Highload-кластер от 350 000 ₽
Срок: от 4 недель

Кластер под сотни тысяч посетителей со сложной репликацией.

  • Все возможности «Веб-кластер»
  • Шардинг и масштабирование базы
  • Геораспределение и резерв ЦОД
  • Автомасштабирование нод
  • Сопровождение под нагрузкой

Дополнительные опции

Дополнительная веб-нода в кластер от 25 000 ₽
Настройка реплики MySQL для чтения от 40 000 ₽
Нагрузочное тестирование сценариев от 35 000 ₽
Мониторинг и алертинг кластера от 30 000 ₽
Расчёт выгоды

Сколько вы теряете на падениях в пик

Прикиньте потери выручки, когда сайт падает или тормозит в часы наплыва. Кластер убирает простои и удерживает скорость, поэтому заказы в пик не утекают к конкурентам.

Потери выручки из-за падений в месяц 0 ₽

Оценка по формуле: доля рабочего времени под сбоем × месячная выручка × доля теряемых заказов. Это ориентир потерь, которые снимает кластер, а не гарантия.

Умный расчёт

Подберём конфигурацию кластера под вашу нагрузку

Ответьте на несколько вопросов о трафике, каталоге и требованиях к аптайму — предложим схему кластера и пришлём ориентир по числу нод и срокам.

Вопрос 1
Загрузка вопроса…

Примеры работ

Кейсы по кластеру и балансировке

Интернет-магазин

Веб-кластер под распродажи для магазина электроники

Развернули три ноды за балансировщиком и реплику базы — сайт выдержал наплыв в чёрную пятницу без падений.

×6Запас по трафику
0Простой в пик
2 неделиСрок
B2B-портал

Отказоустойчивый кластер для портала дистрибьютора

Вынесли кеш и сессии в memcached, сделали общий upload — отказ ноды перестал ронять кабинеты контрагентов.

99,95%Аптайм
−65%Нагрузка на master
3 неделиСрок
Медиа-проект

Кластер с репликацией под пиковый трафик новостей

Разнесли чтение на реплики и добавили автомасштабирование нод — всплески посещений после публикаций обрабатываются без тормозов.

×4Пиковый RPS
−55%Время ответа
4 неделиСрок
Отзывы клиентов

Что говорят после запуска кластера

«Раньше каждая крупная акция превращалась в нервотрёпку: сайт ложился через час. После развёртывания кластера прошли две распродажи без единого падения, заказы шли ровным потоком.»

Андрей К. Руководитель интернет-магазина

«Команда грамотно вынесла сессии и кеш в общий memcached, и проблема со слетающими авторизациями после второго сервера ушла. Отказоустойчивость проверили при нас — выключили ноду, сайт продолжил работать.»

Марина С. Технический директор B2B-портала

«Перед запуском прогнали нагрузочное тестирование и показали, какой трафик кластер держит. Теперь под рекламные кампании закладываемся спокойно, потолок по нагрузке отодвинулся в разы.»

Дмитрий Л. Владелец оптовой компании

«Отдельно ценю, что репликацию базы настроили так, что тяжёлые отчёты больше не тормозят витрину. Чтение ушло на реплику, master разгрузился, скорость каталога заметно выросла.»

Елена П. Маркетолог торговой сети
Почему мы

На что можно рассчитывать по договору

Опыт под нагрузкой

Десять лет разворачиваем веб-кластеры Битрикс для магазинов, порталов и медиа с пиковым трафиком.

Проверяем отказ при вас

Перед сдачей выключаем ноду и показываем, что сайт продолжает работать без простоя.

Нагрузочное тестирование

Не верим на слово: прогоняем кластер под синтетической нагрузкой и измеряем реальный запас.

Фиксированная смета

Состав и стоимость закрепляем после аудита, доработки сверх ТЗ согласуем отдельно.

Без привязки к нам

Передаём документацию, схему кластера и доступы — сопровождать его сможет любая команда.

Готовность к росту

Закладываем схему добавления нод, чтобы масштабирование под трафик не превращалось в переезд.

База знаний

Частые сложности с кластером — и наш ответ

Это не общие советы из интернета, а закономерности из реальных высоконагруженных проектов. Каждый ответ — позиция нашей команды.

Сессии

После добавления второго сервера у пользователей слетают авторизации и корзины

Наш ответ

Причина почти всегда в том, что сессии хранятся локально на каждой ноде. Выносим сессии и кеш в общий memcached, единый для кластера, и пользователь остаётся авторизованным независимо от того, на какую ноду его направил балансировщик. Корзина и вход перестают зависеть от выбора ноды.

База

База данных захлёбывается на тяжёлых выборках каталога в час пик

Наш ответ

Настраиваем репликацию MySQL и разносим нагрузку: запись идёт на master, а тяжёлые выборки и отчёты — на реплики. master разгружается, чтения масштабируются добавлением реплик. Реплика заодно служит горячим резервом базы на случай отказа основного сервера.

Файлы

Картинки, загруженные через одну ноду, недоступны на других нодах

Наш ответ

В кластере папка upload не может лежать локально на ноде. Выносим её в общее сетевое хранилище, доступное всем нодам одинаково. Файл, загруженный через любую ноду, сразу виден всем посетителям независимо от того, какая нода их обслуживает.

Отказ

Боимся, что кластер усложнит систему и сам станет источником сбоев

Наш ответ

Поэтому мы проверяем отказоустойчивость при сдаче: выключаем ноду и показываем, что сайт продолжает работать. Балансировщик выводит упавший узел из ротации, реплика подхватывает базу. Кластер сложнее одного сервера, но именно он убирает единую точку отказа, а не добавляет её.

Запас

Не знаем, какой реальный трафик выдержит инфраструктура после изменений

Наш ответ

Не оцениваем на глаз — прогоняем нагрузочное тестирование под синтетическим трафиком и измеряем, при какой нагрузке начинаются тормоза. Вы получаете подтверждённый цифрами запас по трафику и понимаете, сколько нод добавить под планируемые акции.

Старт

Не уверены, нужен ли уже кластер или хватит оптимизации одного сервера

Наш ответ

Честно разбираем это на аудите. Если потолок ещё не достигнут, иногда выгоднее начать с серверной оптимизации и кеширования, которые снимают часть нагрузки малой кровью. Кластер предлагаем тогда, когда выручка и трафик действительно того требуют, а не по умолчанию.

Экспертный взгляд

Кластер, апгрейд железа или оптимизация: что выбрать

Когда сайт начинает падать под нагрузкой, у бизнеса обычно три пути: купить сервер помощнее, оптимизировать то, что есть, или построить кластер. Каждый путь уместен в своей ситуации, и худшее, что можно сделать — выбрать вслепую. Мощный сервер кажется простым решением, но лишь отодвигает потолок и не убирает риск полного простоя при поломке. Оптимизация дёшева и эффективна, но имеет предел: она ускоряет проект на текущем железе, а не добавляет отказоустойчивости. Кластер решает обе задачи — и масштабирование, и устойчивость к сбоям, — но требует более сложной инфраструктуры. Ниже разбираем, когда какой путь оправдан и как мы строим кластер, чтобы он работал годами.

Почему одиночный сервер сдаётся

Сайт на одном сервере уязвим сразу по двум направлениям. Первое — производительность: у любой машины есть предел по процессору, памяти и дисковым операциям, и в пиковые дни этот предел достигается. Каталог тормозит, оформление заказа подвисает, а в худшем случае сервер просто перестаёт отвечать. Второе — надёжность: пока сайт живёт на одной машине, любая её поломка — сбой диска, перегрев, авария у провайдера — кладёт весь сервис целиком. Клиент видит ошибку, разворачивается и уходит к конкуренту, а рекламный бюджет, приведший его на сайт, сгорает впустую.

Особенно болезненно это проявляется в дни, когда сайт нужнее всего. Удачная рекламная кампания, чёрная пятница, сезонный всплеск спроса — именно в эти моменты трафик растёт кратно, и именно тогда одиночный сервер чаще всего падает. Получается парадокс: чем успешнее маркетинг, тем выше риск, что инфраструктура не выдержит и обнулит результат. Кластер разрывает эту связку, превращая рост трафика из угрозы в обычную рабочую нагрузку.

Что меняет веб-кластер

Кластер раскладывает нагрузку и риск на несколько узлов. Балансировщик распределяет посетителей по веб-нодам, поэтому ни одна из них не перегружается, а общий трафик размазывается ровным слоем. Репликация MySQL разносит работу с базой: запись на master, тяжёлые чтения на реплики — и база перестаёт быть бутылочным горлышком. Общий memcached хранит кеш и сессии единым для всех нод, поэтому пользователь не теряет авторизацию и корзину, на какую бы ноду он ни попал. Общий upload делает загруженные файлы доступными всем нодам. В сумме это даёт инфраструктуру, которая держит рост трафика и не имеет единой точки отказа.

Отдельно стоит отметить, что кластер меняет и эксплуатацию. Обновления раскатываются по нодам по очереди без остановки сайта: одна нода выводится из ротации, обновляется, проверяется и возвращается, пока остальные обслуживают трафик. Релизы перестают требовать технических работ и ночных окон. Если вы выросли из одного сервера, имеет смысл сначала провести серверную и инфраструктурную оптимизацию, а затем переходить к кластеру на подготовленной базе.

Чем кластер отличается от мощного сервера

Покупка более мощного сервера — это вертикальное масштабирование, наращивание ресурсов одной машины. Оно простое в эксплуатации, но имеет два недостатка. Во-первых, у любого железа есть потолок, и чем ближе к нему, тем дороже каждый дополнительный процент производительности. Во-вторых, мощный сервер по-прежнему остаётся единой точкой отказа: при его поломке падает весь сайт, и никакая мощность от этого не страхует. Кластер реализует горизонтальное масштабирование — наращивание мощности добавлением нод. У него нет жёсткого потолка, а отказ отдельной ноды не останавливает сервис. Это принципиально другая надёжность.

Это не значит, что апгрейд железа всегда плох. Для проектов с умеренной нагрузкой и невысокими требованиями к аптайму более мощный сервер — разумное и дешёвое решение. Кластер оправдан там, где либо нагрузка уже не помещается на одной машине, либо простой недопустим. Мы не навязываем кластер тем, кому он избыточен: на аудите честно оцениваем, что выгоднее в конкретном случае.

Когда хватит оптимизации, а когда нужен кластер

Прежде чем строить кластер, всегда стоит выжать максимум из текущей инфраструктуры. Часто сайт тормозит не из-за нехватки серверов, а из-за тяжёлых запросов, отсутствия кеширования и неоптимальных настроек. В таких случаях ускорение highload-проекта на Битрикс и грамотное кеширование снимают значительную часть нагрузки малой кровью и откладывают необходимость в кластере. Это дешевле и быстрее, и мы всегда проверяем этот путь первым.

Кластер становится оправдан, когда оптимизация уже сделана, а нагрузка всё равно упирается в потолок, либо когда бизнес не может позволить себе простой. Признаки того, что пора переходить на кластер: сайт стабильно падает в пиковые дни даже после оптимизации; каждый час недоступности оборачивается ощутимыми потерями выручки; требования к аптайму таковы, что одиночный сервер недопустим в принципе. В этих ситуациях кластер перестаёт быть избыточностью и становится необходимостью.

Как мы разворачиваем кластер

Старт — это аудит нагрузки. Мы снимаем профиль трафика, находим узкие места и понимаем, что именно тормозит: процессор веб-нод, дисковые операции, база данных или конкретные тяжёлые страницы. На основе этого проектируем архитектуру: сколько нужно нод, какая схема репликации базы, как организовать общий кеш и хранилище файлов. Архитектуру считаем под фактическую и прогнозную нагрузку, с запасом на планируемые акции, а не наугад.

Развёртывание ведём параллельно с работающим сайтом. Ноды, балансировщик и репликацию поднимаем рядом, данные синхронизируем заранее, а переключение трафика на кластер выполняем в момент низкой нагрузки — в большинстве проектов пользователи перехода не замечают. Отдельно занимаемся выносом кеша и сессий в memcached и настройкой общего upload, потому что именно эти места чаще всего ломаются, когда кластер собирают наспех. Заодно вычищаем места в коде, которые завязаны на конкретную ноду или локальные файлы.

Почему мы проверяем результат, а не верим настройкам

Главная ошибка при внедрении кластера — собрать его и понадеяться, что под реальной нагрузкой всё сработает. Мы так не делаем. Перед сдачей прогоняем нагрузочное тестирование: имитируем наплыв посетителей на типичных сценариях — каталог, фильтры, оформление заказа — и измеряем, при какой нагрузке начинаются тормоза. Так вы получаете подтверждённый цифрами запас по трафику, а не обещание. Отдельно проверяем отказоустойчивость: выключаем ноду прямо при вас и показываем, что сайт продолжает работать, балансировщик вывел упавший узел, а пользователи ничего не заметили.

После запуска настраиваем мониторинг нод, базы и кеша с алертами, чтобы проблемы были видны до того, как их заметят посетители. Передаём документацию, схему кластера и понятную инструкцию по добавлению нод. Это важно: масштабирование под рост трафика должно быть рутинной операцией, а не очередным болезненным переездом. Для проектов с пиковыми нагрузками предлагаем поддержку высоконагруженных проектов, чтобы кластер развивался и держал нагрузку вместе с ростом бизнеса.

Гарантии и прозрачность

Состав работ и стоимость мы закрепляем после аудита, а доработки сверх ТЗ согласуем отдельно — никаких сюрпризов в счёте. Результат подтверждаем измеримо: запас по трафику показываем нагрузочным тестом, отказоустойчивость — выключением ноды при вас. По завершении передаём документацию, схему кластера и доступы: инфраструктура остаётся вашей, без привязки к подрядчику. Обслуживать и масштабировать кластер сможет как наша команда, так и любая другая. Мониторинг, резервирование и разграничение прав закладываются с первого дня.

Возражения, которые мы слышим чаще всего

«Кластер — это слишком сложно и дорого для нас». Сложность кластера берёт на себя подрядчик: вы получаете работающую инфраструктуру и документацию, а не груду серверов, в которых нужно разбираться. Что до цены — кластер дешевле, чем потери от падений в пик. Если сайт делает ощутимую выручку и теряет заказы при каждом всплеске трафика, он окупается уже на нескольких распродажах. На умном расчёте на этой странице можно прикинуть свои потери на простоях прямо сейчас.

«У нас уже есть второй сервер, но толку мало». Так бывает, когда вторую машину добавили без выноса сессий и кеша в общее хранилище и без настройки общего upload. В итоге слетают авторизации, теряются корзины, а файлы доступны не всем нодам. Мы как раз приводим такую полу-собранную конфигурацию в порядок: настраиваем memcached, общий upload и репликацию так, чтобы кластер действительно работал, а не создавал новые проблемы.

«Боимся простоя при переезде на кластер». Поэтому ноды и репликацию мы поднимаем параллельно работающему сайту, синхронизируем данные заранее и переключаем трафик в момент низкой нагрузки. В большинстве проектов простоя нет вовсе, а в сложных случаях он измеряется минутами в заранее согласованное окно.

Сценарии, под которые мы собираем кластер

Нагрузка у всех разная, и кластер подстраивается под вашу модель. Для интернет-магазина с распродажами ключевое — выдержать кратный наплыв в чёрную пятницу: проектируем кластер с запасом и возможностью заранее добавить ноды под конкретную акцию. Для B2B-портала с кабинетами контрагентов на первый план выходит отказоустойчивость — простой кабинетов оборачивается потерей оптовых заказов, поэтому резервируем ноды и базу так, чтобы отказ узла не ронял сервис. Для медиа-проекта важны резкие всплески после публикаций, и здесь помогает автомасштабирование нод и агрессивное кеширование тяжёлых страниц.

Отдельный сценарий — проекты с особыми требованиями к аптайму, где недоступность недопустима даже на минуты. Для них размещаем ноды и резервную базу в разных дата-центрах, чтобы авария на уровне целого ЦОД не останавливала сайт. Это более сложная настройка репликации и балансировки, и мы предлагаем её адресно — там, где цена простоя действительно высока. Во всех случаях принцип один: архитектура считается под вашу нагрузку и ваши риски, а не по универсальному шаблону.

Ещё один частый случай — сезонный бизнес, где почти весь год нагрузка умеренная, а в короткий пиковый период вырастает в разы. Держать мощную инфраструктуру круглый год ради нескольких недель пика расточительно. Кластер решает это изящно: к сезону в него добавляются дополнительные ноды, а после спада спроса их убирают. Вы платите за мощность тогда, когда она действительно нужна, и не переплачиваете за простаивающее железо в остальное время. Такой гибкий подход к ресурсам особенно удобен на облачной инфраструктуре, где ноды поднимаются и выводятся быстро.

Что именно входит в результат

По итогу работы вы получаете не абстрактный кластер, а понятный набор результатов. Это работающая инфраструктура из нескольких нод за балансировщиком, настроенная репликация базы с разделением чтения и записи, общий memcached для кеша и сессий, общий upload для файлов и проверенная отказоустойчивость. К этому прилагаются результаты нагрузочного тестирования с подтверждённым запасом по трафику, настроенный мониторинг с алертами, документация по архитектуре и инструкция по добавлению нод. Всё это передаётся вам вместе с доступами, поэтому дальнейшее развитие инфраструктуры не зависит от одного подрядчика.

Важно, что кластер не живёт в вакууме, а встраивается в общую стратегию производительности проекта. Мы смотрим на него не как на разовую настройку, а как на основу, на которой сайт будет расти. Поэтому при проектировании учитываем, как будет добавляться функциональность, как поведёт себя каталог при росте числа товаров, какие интеграции лягут нагрузкой на базу. Кластер, собранный с прицелом на будущее, избавляет от необходимости пересобирать инфраструктуру при каждом следующем витке роста.

С чего начать

Начните с разговора. Расскажите о трафике, пиковых днях, размере каталога и требованиях к аптайму — мы проведём бесплатный аудит нагрузки, найдём узкие места и честно скажем, что выгоднее в вашем случае: оптимизация одного сервера, апгрейд железа или полноценный кластер. Если кластер оправдан, предложим архитектуру под вашу нагрузку, ориентир по числу нод и срокам и пришлём смету. Обсудим ваш проект — и сделаем так, чтобы рост трафика перестал быть угрозой для сайта.

Вопросы и ответы

Частые вопросы о кластере и балансировке нагрузки

Что такое веб-кластер 1С-Битрикс простыми словами? +

Это когда сайт работает не на одном сервере, а на нескольких связанных машинах-нодах сразу. Перед ними стоит балансировщик, который раздаёт посетителей по нодам. Если одна нода перегружена или вышла из строя, остальные подхватывают трафик, и сайт продолжает работать. Проще говоря, кластер превращает один уязвимый сервер в команду серверов, которая держит нагрузку и страхует друг друга.

Что такое балансировка нагрузки? +

Балансировка — это распределение входящих запросов между несколькими веб-нодами, чтобы ни одна не была перегружена. Специальный балансировщик принимает весь трафик и направляет каждого посетителя на наименее загруженную или исправную ноду. Если нода падает, балансировщик выводит её из ротации, и пользователи этого не замечают. Так нагрузка размазывается ровным слоем по всему кластеру.

Что значит «масштабирование вширь»? +

Масштабирование вширь, или горизонтальное масштабирование, — это наращивание мощности добавлением новых нод, а не заменой сервера на более мощный. Когда трафик растёт, в кластер просто добавляется ещё одна машина, и общая производительность увеличивается. В отличие от апгрейда железа у этого подхода нет жёсткого потолка: ноды можно добавлять по мере роста бизнеса.

Чем кластер отличается от просто мощного сервера? +

Мощный сервер откладывает проблему, но не решает её: у любой машины есть предел, и при отказе она кладёт весь сайт целиком. Кластер устроен иначе — нагрузка разнесена по нескольким нодам, а отказ одной не останавливает сервис. Кроме того, кластер масштабируется добавлением нод, тогда как сервер рано или поздно упрётся в дорогой потолок по железу.

Что такое отказоустойчивость? +

Отказоустойчивость — это способность системы продолжать работу при выходе из строя отдельных её узлов. В кластере зарезервированы веб-ноды, кеш и база данных, поэтому поломка любого одного узла не приводит к полной остановке сайта. Балансировщик исключает упавшую ноду, реплика подхватывает базу, и пользователь в большинстве случаев вообще не замечает сбоя.

Что такое репликация MySQL и зачем она нужна? +

Репликация — это автоматическое копирование данных с основного сервера базы, master, на одну или несколько реплик. Запись идёт на master, а тяжёлые операции чтения — выборки каталога, отчёты, фильтры — направляются на реплики. Так нагрузка на базу разносится, master разгружается, а сайт отвечает быстрее. Реплика заодно служит горячим резервом на случай отказа основной базы.

Что такое шардинг базы данных? +

Шардинг — это разделение большой базы на части, шарды, которые хранятся и обрабатываются отдельно. Когда данных становится так много, что одна машина уже не справляется даже с репликами, шардинг распределяет нагрузку по разным серверам базы. Это более тяжёлый инструмент, чем репликация, и применяется на действительно больших объёмах — мы предлагаем его только когда он реально нужен.

Зачем выносить кеш и сессии в memcached? +

Когда сайт работает на нескольких нодах, кеш и сессии нельзя хранить на каждой ноде по отдельности — иначе пользователь, попавший на другую ноду, потеряет авторизацию и корзину. memcached — это общее хранилище в оперативной памяти, единое для всех нод. Кеш и сессии лежат в нём, поэтому любая нода видит одни и те же данные, а пользователь не замечает, на какую машину его направили.

Что будет с корзиной и авторизацией в кластере? +

Ничего плохого — при правильной настройке они работают как на одном сервере. Сессии хранятся в общем memcached, поэтому пользователь остаётся авторизованным и видит свою корзину независимо от того, на какую ноду его направил балансировщик. Именно отсутствие этой настройки и приводит к слетающим авторизациям, когда второй сервер добавляют наспех.

Кеш на всех нодах будет одинаковым? +

Да. Кеш Битрикса выносится в общий memcached, единый для кластера, поэтому все ноды читают и пишут в одно хранилище. Сброс кеша происходит синхронно для всех нод, и не возникает ситуации, когда одна нода показывает старые данные, а другая новые. Это критично для каталога и цен, где рассинхрон кеша приводит к ошибкам.

Сколько трафика выдержит кластер? +

Это зависит от числа нод, мощности базы и тяжести страниц, но принципиально кластер масштабируется до нужного уровня добавлением нод. Мы снимаем профиль вашей нагрузки на аудите, проектируем кластер с запасом и подтверждаем результат нагрузочным тестированием. Как правило, после развёртывания запас по трафику относительно одного сервера вырастает в несколько раз.

Что такое нагрузочное тестирование? +

Это проверка кластера под искусственно созданным трафиком, который имитирует наплыв реальных посетителей. Мы прогоняем типичные сценарии — открытие каталога, фильтрацию, оформление заказа — на растущем числе виртуальных пользователей и смотрим, при какой нагрузке начинаются тормоза. Так мы заранее знаем реальный запас кластера, а не верим оценкам на глаз.

Поможет ли кластер пережить распродажи и акции? +

Да, это один из главных сценариев. В чёрную пятницу или во время рекламной кампании трафик вырастает кратно, и одиночный сервер обычно не справляется. Кластер размазывает наплыв по нодам, а при необходимости в него заранее добавляются дополнительные ноды под конкретную акцию. Сайт остаётся быстрым, и заказы не теряются из-за падений.

Можно ли добавлять ноды по мере роста? +

Да, в этом и смысл масштабирования вширь. Мы закладываем схему, при которой новая нода добавляется в кластер без переезда и переписывания проекта. Когда трафик подрастает, вы просто наращиваете число нод. Это позволяет не покупать мощную инфраструктуру с многократным запасом сразу, а расширять её ровно под текущие потребности.

Что происходит, когда одна нода выходит из строя? +

Балансировщик регулярно проверяет здоровье нод и при сбое автоматически выводит упавшую ноду из ротации. Её трафик перераспределяется на оставшиеся, и сайт продолжает работать. Сессии и кеш живут в общем хранилище, поэтому пользователи не теряют корзину и авторизацию. После починки нода так же автоматически возвращается в работу.

Нужно ли переписывать сайт под кластер? +

В большинстве случаев нет. 1С-Битрикс изначально поддерживает работу в кластере через модуль веб-кластера, и основная работа — это настройка инфраструктуры: балансировщик, ноды, репликация, общий кеш и upload. Иногда находятся места в коде, которые завязаны на конкретную ноду или локальные файлы — мы их выявляем на аудите и аккуратно правим, но переписывание проекта обычно не требуется.

Будет ли простой сайта при переезде в кластер? +

Мы строим кластер так, чтобы переключение прошло с минимальным или нулевым простоем. Ноды и репликация поднимаются параллельно с работающим сайтом, данные синхронизируются заранее, а переключение трафика на кластер делается в момент низкой нагрузки. В большинстве проектов пользователи перехода вообще не замечают.

Как обновлять сайт в кластере без остановки? +

Ноды обновляются по очереди: одна выводится из ротации, на ней раскатывается релиз, проверяется, и она возвращается в работу — затем то же со следующей. Пока обновляется одна нода, трафик обслуживают остальные. Такой подход убирает стресс из релизов и позволяет выкатывать изменения без объявления технических работ.

Можно ли разместить ноды в разных дата-центрах? +

Да, для повышенной отказоустойчивости ноды и резервную базу можно разнести по разным дата-центрам. Тогда даже авария на уровне целого ЦОД не останавливает сайт. Это решение из старшего тарифа, оно требует более сложной настройки репликации и балансировки, и мы предлагаем его проектам, где требования к аптайму особенно высоки.

Нужно ли постоянное сопровождение кластера? +

Кластер работает автономно, но за ним полезно следить. Мы настраиваем мониторинг нод, базы и кеша с алертами, чтобы видеть проблемы до того, как их заметят пользователи. Дальше вы можете обслуживать кластер сами по переданной документации либо взять наше сопровождение — особенно если ожидаются всплески трафика или планируется масштабирование.

Что такое общий upload и зачем он в кластере? +

Папка upload в Битриксе хранит загруженные файлы — картинки товаров, документы, отчёты. На одном сервере она лежит локально, но в кластере каждая нода должна видеть одни и те же файлы. Поэтому upload выносится в общее сетевое хранилище, доступное всем нодам одинаково. Иначе картинка, загруженная через одну ноду, окажется недоступна посетителям, которых обслуживает другая.

На каком хостинге можно развернуть кластер? +

Кластер разворачивается на выделенных или облачных серверах, где можно поднять несколько нод, балансировщик и отдельную базу. Подойдут крупные облачные провайдеры и серверы под BitrixVM. Обычный виртуальный хостинг для кластера не годится. На аудите мы оцениваем вашу текущую инфраструктуру и подсказываем, что подходит под целевую нагрузку.

Кластер дороже одного сервера — это окупается? +

Кластер действительно дороже в эксплуатации, чем один сервер, но дешевле, чем потери от падений в пик и репутационный ущерб. Если сайт делает ощутимую выручку и теряет заказы при каждом всплеске трафика, кластер окупается уже на нескольких распродажах. На умном расчёте на этой странице можно прикинуть, сколько вы теряете на простоях сейчас.

Можно ли сначала просто разгрузить сервер без кластера? +

Да, и часто это разумный первый шаг. Если до кластера ещё не дошло, начинают с серверной и инфраструктурной оптимизации и настройки кеширования — это снимает значительную часть нагрузки малой кровью. Мы честно говорим на аудите, что выгоднее в вашем случае: оптимизация одного сервера или развёртывание полноценного кластера.

Эффект после внедрения

Что меняется в цифрах

×5
запас по трафику без падения скорости
99,95%
аптайма даже при отказе одной ноды
−70%
нагрузки на master базы данных
0
простоя при выходе ноды из строя

Ориентиры по проектам нашей команды. Точный запас и целевой аптайм оценим на бесплатном аудите нагрузки вашего сайта.

Кому и что даёт

Ценность для каждой роли

Продажи в пик не падают

Сайт держит наплыв в распродажи и рекламные кампании, не теряя заказы из-за падения.

Нет простоев и потерь

Выход сервера из строя больше не означает остановку магазина и упущенную выручку.

Рост без переездов

Под рост трафика добавляется нода, а не затевается болезненный переезд на новый сервер.

Предсказуемые расходы

Инфраструктура масштабируется по мере роста, а не покупается с многократным запасом сразу.

Нет единой точки отказа

Ноды, кеш и база зарезервированы, отказ любого узла не роняет весь сервис целиком.

Горизонтальное масштабирование

Производительность наращивается добавлением нод, а не упирается в потолок одной машины.

Разделение чтения и записи

Репликация MySQL разносит нагрузку: запись на master, тяжёлые выборки на реплики.

Управляемые обновления

Ноды обновляются по очереди без остановки сайта — релизы перестают быть стрессом.

Реклама не сжигает бюджет

Трафик с кампаний доходит до сайта, а не упирается в упавший под нагрузкой сервер.

Запуск акций без страха

Распродажи и рассылки можно планировать смело — кластер выдержит всплеск посещений.

Стабильная скорость

Сайт остаётся быстрым в пик, а скорость напрямую влияет на конверсию и поведенческие.

Рост без потолка

Удачная кампания не наказывается падением сайта — инфраструктура растёт вместе с трафиком.

Состав работ

Что именно мы делаем по кластеру

Аудит профиля нагрузки и поиск узких мест
Проектирование архитектуры кластера под трафик
Развёртывание веб-нод и настройка балансировщика
Репликация MySQL и разделение чтения и записи
Вынос кеша и сессий в общий memcached
Общий upload для всех нод через сетевое хранилище
Настройка отказоустойчивости и резервирования узлов
Нагрузочное тестирование и проверка отказа ноды
Мониторинг кластера, документация и передача доступов
Начать проект

Обсудим кластер для вашего проекта?

Расскажите о трафике, пиковых днях и требованиях к аптайму — проведём бесплатный аудит нагрузки, предложим архитектуру кластера под вашу задачу и пришлём смету.

  • Ответим в течение рабочего дня
  • Бесплатный аудит процессов и расчёт
  • NDA и фиксированная смета