1с битрикс веб кластер. Веб-кластер — опыт реального применения

C «Битрикс24» можно работать как с облачным сервисом, так и установить как программный продукт отдельно внутри компании.

В чем отличие? Коробочная версия - «1С-Битрикс24» - устанавливается на ваш сервер, размещенный в вашей компании или у хостинг-провайдера.

Вы можете индивидуально настроить бизнес-логику корпоративного портала, доработать интерфейс, интегрировать с «1С:ЗУП» и многое другое.

Сравнить с «облаком»
  • Веб-кластер

    Постройте свой Веб-кластер - повысьте производительность, масштабируемость и надежность вашего портала!

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

  • Виртуальная машина

    «1C-Битрикс: Виртуальная машина» - бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.

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

  • Контроллер для интеграции с внешним сайтом

    Контроллер сайтов - это принципиально новое технологическое решение, задача которого состоит в том, чтобы в едином месте консолидировать управление над множеством совершенно независимых друг от друга веб-проектов, построенных на отдельных копиях продукта «1С-Битрикс: Управление сайтом» вне зависимости от их физического расположения.
  • Персональный генератор одноразовых паролей (OTP)

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

    С помощью Bitrix OTP вы сможете самостоятельно включать или отключать использование на портале системы одноразовых паролей для своей учетной записи.

  • Администрирование корпоративного портала

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

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

    Учебный курс: «Администратор сервиса Битрикс24 (коробочная версия

  • Управление контентом (визуальный редактор страниц)

    Визуальный HTML-редактор уже встроен в продукт «1С-Битрикс24», и вам не нужно его устанавливать. С помощью этого редактора вы можете изменять свои страницы на портале в режиме реального времени - прямо через браузер. Редактор позволяет не просто править и форматировать обычный текст, но и работать с визуальными компонентами.

    Встроенный в продукт визуальный редактор совместим со всеми популярными браузерами!

  • Расширенное управление правами доступа

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

  • Варианты и кастомизация дизайна

    Коробочная версия сервиса поставляется в двух стандартных шаблонах дизайнов: Light и «Битрикс24». Эти варианты удовлетворяют подавляющее большинство пользователей. Однако некоторые компании хотят иметь свой фирменный дизайн.
  • Любой новый или работающий проект на « » может быть представлен как веб-кластер взаимозаменяемых серверов.

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

    1. При увеличении посещаемости можно быстро добавить в кластер новые сервера.
    2. В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов.
    3. Балансирование нагрузки, трафика, данных между несколькими серверами.
    4. Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.

    «Географический веб-кластер»

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


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

    «1С-Битрикс: Веб-кластер» - это комбинация технологий:

    1. Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)
    2. Репликация MySQL и балансирование нагрузки между серверами
    3. Распределенный кеш данных (memcached)
    4. Непрерывность сессий между веб-серверами (хранение сессий в базе данных)
    5. Кластеризация веб-сервера :
    • Синхронизация файлов
    • Балансирование нагрузки между серверами
  • Независимость от дата-центра (в случае отказа одного дата-центра, в работу мгновенно включается другой, без необходимости восстановления «бэкапа»)

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

    1. Вертикальный шардинг

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





    В отдельные базы можно вынести следующие модули продукта:

    2. Репликация MySQL и балансирование нагрузки между серверами

    Схема «master - slave» реализуется средствами MySQL.

    Платформа «1С-Битрикс: Управление сайтом» позволяет гибко балансировать нагрузку между серверами, участвующими в репликации.



    Ключевые особенности:
    • гибкая балансировка нагрузки SQL
    • простота администрирования
    • дешевое и быстрое неограниченное масштабирование
    • он-лайн бэкап
    • не требуется доработка логики веб-приложения

    3. Распределенный кеш данных (memcached)

    «1С-Битрикс: Веб-кластер» позволяет использовать пул серверов memcached для работы с кешем данных.



    Это обеспечивает:
    • высокую эффективность - за счет централизованного использования кеша веб-приложением
    • надежность - за счет устойчивости подсистемы кешировния к выходу из строя отдельных компонентов
    • неограниченную масштабируемость - за счет добавления новых memcached-серверов

    4. Непрерывность сессий между веб-серверами (хранение сессий в базе данных)

    Возможность хранения данных пользовательских сессий в базе данных обеспечивает «прозрачность» сессии для всех веб-серверов кластера:
    1. После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов.
    2. И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.

    1С-Битрикс: Веб-кластер Основные задачи, которые необходимо решить: 1.Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры) 2.Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры) 3.Балансирование нагрузки, трафика, данных между несколькими серверами. 4.Создание целостной резервной копии данных для MySQL.


    1С-Битрикс: Веб-кластер «Веб-кластер» обеспечивает непрерывность бизнеса, отказоустойчивость, масштабирование, распределение нагрузки. Любой новый или работающий проект на 1С-Битрикс: Управление сайтом 10.0 может быть представлен как веб-кластер взаимозаменяемых серверов. 1.При увеличении посещаемости можно быстро добавить в кластер новые сервера. 2.В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов. 3.Балансирование нагрузки, трафика, данных между несколькими серверами. 4.Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.




    История производительности платформы До 2005 года вопросом производительности системно не занимались год – производительность стала существенной задачей для разработки год – появление инструментов отладки SQL-запросов. Cистемная работа над производительностью продукта год – первое нагрузочное тестирование с QSOFT (1.5 млн. хитов в сутки на редакции «Бизнес», 6 млн. – на редакции «Старт») годы – развернуто 4 конфигурации Oracle RAC с 4 серверами год – «монитор производительности» во всех редакциях продукта годы – выпущены «1С-Битрикс: Виртуальная машина» и «1С- Битрикс: Веб-окружение» – сертификация хостинг-провайдеров год – рост производительности – на 430%! Новые нагрузочные тесты: 8.5 млн. хитов – «Бизнес», 12.4 млн. – «Старт», 85 млн. – «HTML кеш».




    Варианты масштабирования до Разделение на два сервера: веб-сервер + база данных. 2.Увеличение мощности оборудования (чем мощнее – тем дороже; рост стоимости не пропорционален). 3.Выделение кеша на один внешний сервер через memcached. 4.Переход на Oracle (минимальная лицензия +5000$ за процессор). 5.Создание Oracle RAC (Real Application Cluster). Проект – около $ (оборудование + лицензия + «общая полка»). Очень мало специалистов. Для большинства клиентов производительности достаточно, но не решены проблемы отказоустойчивости, резервирования, сетевой доступности.


    1С-Битрикс: Веб-кластер «1С-Битрикс: Веб-кластер» - это комбинация технологий: Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL) Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами Распределенный кеш данных (memcached) Непрерывность сессий между веб-серверами (хранение сессий в базе данных) Кластеризация веб-сервера: – Синхронизация файлов – Балансирование нагрузки между серверами






    Hазделение одной базы данных веб- приложения на две и более базы данных за счет выделения отдельных модулей, без изменения логики работы веб- приложения: Веб-аналитика Поиск 1.Эффективное распределение нагрузки. 2.Масштабирование. 3.Разделение больших объемов данных. Вертикальный шардинг









    Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка: ~10^3 writes/sec ~10^4 reads/sec Высокая посещаемость 1) Запросы обрабатываются только одним сервером СУБД 2) CPU и дисковая подсистема СУБД – перегружены Масштабирование при росте нагрузки MySQL




    Высокая эффективность - за счет централизованного использования кэша веб- приложением Надежность - за счет устойчивости подсистемы кешировния к выходу из строя отдельных компонентов Неограниченная масштабируемость - за счет добавления новых memcached-серверов. memcached 1 memcached 2 memcached 3 Веб-кластер «1С-Битрикс» 40%30% Веб-сервер Распределенный кеш данных (memcached)



    Непрерывность сессий между веб-серверами Пользовательская сессия должна быть "прозрачной" для всех серверов веб- кластера. 1.После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов. 2.И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.


    80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта" title="Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта" class="link_thumb"> 22 Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масштабирование при росте нагрузки 80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта"> 80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масштабирование при росте нагрузки"> 80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта" title="Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта"> title="Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масшта">














    Почему мы выбрали csync2? Быстрый доступ к файлам приложения за счет использования локальных хранилищ. Высокая скорость работы. Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на серверах становятся идентичными практически в "реальном времени". Простота настройки для обмена данными между любым количеством серверов. Возможность синхронизации удаления файлов. Защищенный обмен данными между хостами (SSL).


    Веб-сервер База данных MySQL MASTER «1С-Битрикс: Веб-кластер» База данных MySQL SLAVE 1 База данных MySQL SLAVE N Он-лайн бэкап данных Диск Целостный логический/физический бэкап MySQL без замедления работы основной системы База данных MySQL MASTER candidate DRBD – он-лайн бэкап диска с базой данных Организация резервного копирования - MySQL


    Веб-сервер «1С-Битрикс: Веб-кластер» /var/www LVM /var/www – снепшот 1 /var/www – снепшот 2 /var/www – снепшот 3 Быстрый, целостный бэкап на уровне Linux Быстрый, целостный, инкрементальный, автоматически консолидирумый бэкап инструментами хостера Организация резервного копирования - файлы


    «1С-Битрикс: Веб- кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке «1С-Битрикс: Веб- кластер», ДЦ в Новосибирске круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб- кластеров 1С-Битрикс Кэш БД Веб-нода Кэш БД Веб-нода Кэш Мы работаем над…


    «1С-Битрикс: Веб- кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб- кластер», ДЦ в Нью-Йорке «1С-Битрикс: Веб- кластер», ДЦ в Новосибирске круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб- кластеров 1С-Битрикс Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш Мы работаем над…


    Устойчивость системы при выключении узлов веб-кластера При отключении узлов кластера система не прерывает обслуживание клиентов. Увеличивается очередь (растет время отдачи страниц клиентам), однако в целом система сбалансирована по нагрузке. Обратное добавление узла веб- кластера пропорционально увеличивает производительность системы. Нагрузочный тест – отключение одного из узлов кластера

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

    Для каких задач нужен веб-кластер?

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

    Как работает веб-кластер 1С Битрикс?

    Рассмотрим какие технологии использует веб-кластер 1С Битрикс:

    • Для БД – это вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)
    • Репликация MySQL и балансирование нагрузки между серверами
    • Распределенный кеш данных (memcached)
    • Непрерывность сессий между веб-серверами (хранение сессий в базе данных)

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

    Секреты высоких нагрузок на 1С Битрикс с веб-кластером

    1. MySQL Sharding (шардинг)

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



    В отдельные базы можно вынести следующие модули продукта: , .

    2. Репликация MySQL

    Схема «master slave» реализуется средствами MySQL / MariaDB. Этот стек технологии достаточно хорошо описан и используется широко.

    3. Балансировщик для выравнивания нагрузки между серверами

    Остановимся на балансировщике подробнее. Платформа «1С-Битрикс: Управление сайтом» в функционале Веб-кластер позволяет гибко балансировать нагрузку между серверами, участвующими в репликации.



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

    4. Распределенный кеш данных (под управлением: memcached)

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


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

    5. Непрерывность сессий

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



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

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

    Любой новый или работающий проект на «1С-Битрикс: Управление сайтом» может быть представлен как веб-кластер взаимозаменяемых серверов.
    Основные задачи, которые позволяет решить подобная конфигурация проекта:

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

    «Географический веб-кластер»

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


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

    • Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)
    • Репликация MySQL и балансирование нагрузки между серверами
    • Распределенный кеш данных (memcached)
    • Непрерывность сессий между веб-серверами (хранение сессий в базе данных)
    • Кластеризация веб-сервера:
    • Синхронизация файлов
    • Балансирование нагрузки между серверами
    • Независимость от дата-центра (в случае отказа одного дата-центра, в работу мгновенно включается другой, без необходимости восстановления «бэкапа»)

    Как работает

    1. Вертикальный шардинг

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

    В отдельные базы можно вынести следующие модули продукта:

    • «Веб-аналитика»
    • «Поиск»

    2. Репликация MySQL и балансирование нагрузки между серверами

    Схема «master — slave» реализуется средствами MySQL.
    Платформа «1С-Битрикс: Управление сайтом» позволяет гибко балансировать нагрузку между серверами, участвующими в репликации.


    Ключевые особенности:

    • гибкая балансировка нагрузки SQL
    • простота администрирования
    • дешевое и быстрое неограниченное масштабирование
    • он-лайн бэкап
    • не требуется доработка логики веб-приложения

    3. Распределенный кеш данных (memcached)

    «1С-Битрикс: Веб-кластер» позволяет использовать пул серверов memcached для работы с кешем данных.

    Это обеспечивает:

    • высокую эффективность — за счет централизованного использования кеша веб-приложением
    • надежность — за счет устойчивости подсистемы кешировния к выходу из строя отдельных компонентов
    • неограниченную масштабируемость — за счет добавления новых memcached-серверов

    4. Непрерывность сессий между веб-серверами (хранение сессий в базе данных)

    Возможность хранения данных пользовательских сессий в базе данных обеспечивает «прозрачность» сессии для всех веб-серверов кластера:

    • После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов
    • И наоборот — окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу

    5. Кластеризация веб-сервера


    При разделении проекта на несколько веб-серверов необходимо решить две задачи:

    • синхронизация данных (файлов) между серверами
    • балансировка нагрузки между серверами