Полный цикл в digital

Веб-кластер Bitrix

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

  1. Обеспечение высокой доступности сайта
  2. Масштабирование проекта в условиях возрастающей нагрузки
  3. Балансирование нагрузки между несколькими серверами

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

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

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

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

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

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

Технологии которые включает в себя веб-кластер

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

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

  1. Синхронизация данных, файлов между серверами
  2. Балансировка нагрузки между серверами

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

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

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

  1. Веб-аналитика
  2. Поиск

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

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

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

  1. Гибкая балансировка нагрузки SQL
  2. Простота администрирования
  3. Дешевое и быстрое неограниченное масштабирование
  4. Онлайн бэкап
  5. Не требуется доработка логики веб-приложения

Распределенный кеш данных memcached

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

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

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

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

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

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

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

  1. После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов
  2. Окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг