8 (3812) 30-8888

Веб-кластер

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

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

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

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

 

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

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

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

Серверы веб-кластера

Серверы веб-кластера – физические либо виртуальные серверы с разными ip-адресами, каждому из которых соответствует отдельная запись в разделе «Список серверов» административной панели управления. 

Настройки -> Веб-кластер -> Лицензирование

Серверы включены:

  • В редакцию  «Бизнес» -  2 сервера
  • В продукт  «1С-Битрикс: Enterprise» - 4 сервера

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

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


 

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

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

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

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

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

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

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

 

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

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

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

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


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