Read replica MySQL для 1С-Битрикс
Настраиваем read replica MySQL для высоконагруженного проекта на 1С-Битрикс с модулем «Веб-кластер». Запросы на запись остаются на master, подходящие чтения распределяются на дополнительную базу, а допустимое отставание и мониторинг защищают магазин от устаревших данных. Перед запуском проверяем InnoDB, тяжёлые страницы и собственный код после записи, затем измеряем нагрузку и время ответа на контрольных сценариях.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Основная MySQL одновременно обслуживает оформление заказов, каталог, поиск и тяжёлые административные отчёты и регулярно упирается в CPU или диски.
- Проект уже работает в редакции с модулем «Веб-кластер» и готов вынести часть чтения на отдельный сервер базы данных.
- После массового обмена или записи собственный код сразу читает изменённую строку, поэтому перед распределением запросов нужно найти чувствительные участки.
- У команды есть replica, но отсутствуют понятный порог отставания, автоматическое исключение из чтения и наблюдение за ошибками репликации.
Что именно мы сделаем
Анализируем редакцию Битрикс, базу, нагрузку, таблицы и инфраструктуру.
Готовим сервер и настраиваем репликацию MySQL с master на replica.
Подключаем базу через «Веб-кластер» и задаём вес и порог отставания.
Проверяем код после записи и закрепляем чувствительные чтения за master.
Проводим нагрузочные сценарии, подключаем мониторинг и передаём схему.
Что входит в стоимость
149 900 ₽ за всю работу
Настраиваем одну связку master–replica для поддерживаемой редакции с модулем «Веб-кластер»: репликацию, подключение группы, вес, порог lag и мониторинг. Профилируем критичные чтения после записи и проверяем каталог, корзину, заказ, обмен и тяжёлый отчёт под нагрузкой.
Что будет готово
Передадим вам
- Рабочая репликация MySQL master–replica, подключённая к группе баз данных 1С-Битрикс.
- Настройки веса чтения и допустимого отставания, список сценариев, закреплённых за master.
- Мониторинг состояния репликации, lag и ошибок с понятным уведомлением ответственного.
- Протокол нагрузки и функциональных проверок, схема конфигурации и инструкция по штатным действиям.
Перед сдачей проверим
- Replica догоняет master, состояние потоков штатное, а контрольная запись появляется на копии в пределах выбранного порога.
- Битрикс распределяет подходящие запросы чтения, при превышении порога отставания узел исключается из чтения.
- Каталог, корзина, оформление заказа, административный отчёт и обмен проходят без чтения устаревшего результата после записи.
- Мониторинг фиксирует остановку репликации или рост lag и показывает сервер, состояние и время события.
Как это выглядит на практике
Чтение уходит на replica, а заказы остаются на master
Во время импорта каталога основная база занята записью, а менеджеры одновременно открывают отчёты и списки заказов. После подключения replica тяжёлые чтения распределяются на дополнительный сервер. Оформление заказа и обработчики, которым нужен только что записанный результат, остаются на master. Если replica отстаёт дольше выбранного порога, «Веб-кластер» перестаёт направлять к ней чтения, а дежурный получает уведомление с состоянием репликации.
- 01
MySQL передаёт изменения с master на подготовленную replica.
- 02
«Веб-кластер» направляет подходящие чтения с учётом веса базы.
- 03
Заказ и чувствительные обработчики после записи используют master.
- 04
Порог lag исключает отставшую копию из распределения чтения.
- 05
Мониторинг фиксирует состояние и сообщает администратору об отклонении.
Что понадобится для работы
От вас
- Редакция и версия 1С-Битрикс, сведения о модуле «Веб-кластер» и доступ к тестовой копии.
- Доступ к master и будущей replica, параметры сети, объём базы, резервная копия и окно первичной синхронизации.
- Метрики нагрузки, перечень тяжёлых страниц, сценарии обмена и собственный код, работающий сразу после записи.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 146 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Для какой редакции 1С-Битрикс подходит штатная read replica?
Штатное распределение чтения использует модуль «Веб-кластер». Актуальная документация 1С-Битрикс указывает его доступность для старших редакций, поэтому до работ проверяем лицензию, установленный модуль и совместимость текущей инфраструктуры.
Что происходит при отставании replica?
В настройках группы задаётся максимально допустимое время отставания. Когда lag превышает порог, Битрикс исключает эту базу из чтения; мониторинг одновременно сообщает о событии, чтобы администратор нашёл причину.
Все SELECT-запросы можно отправить на replica?
Чтение сразу после записи часто требует master, потому что изменения появляются на копии с задержкой. Проверяем собственный код и применяем штатный режим StartUsingMasterOnly и StopUsingMasterOnly там, где следующий шаг должен увидеть свежую запись.
Read replica автоматически заменит master при аварии?
Распределение чтения и аварийное переключение решают разные задачи. В штатной схеме 1С-Битрикс повышение replica до master выполняется отдельной процедурой. Если нужен автоматизированный failover, его проектируют как самостоятельную часть архитектуры и проверяют учебным переключением.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.