Модуль Веб-кластер – это комбинация технологических решений, которые позволяют распределить один портал на несколько серверов, решая тем самым несколько задач: обеспечение высокой доступности портала; его масштабирование в условиях возрастающей нагрузки; балансирование нагрузки, трафика, данных между несколькими серверами. Постройте свой Веб-кластер - повысьте производительность, масштабируемость и надежность вашего портала!
Любой новый или работающий портал на «Битрикс24 в коробке» может быть представлен как веб-кластер взаимозаменяемых серверов.
Основные задачи, которые позволяет решить подобная конфигурация проекта:
«1С-Битрикс: Веб-кластер» – это комбинация технологий:
1. Вертикальный шардинг
Разделение одной базы данных веб-приложения на две и более базы данных за счет выделения отдельных модулей, без изменения логики работы веб-приложения.
В отдельные базы можно вынести следующие модули продукта:
- «Веб-аналитика»
- «Поиск»
2. Репликация MySQL и балансирование нагрузки между серверами
Схема master - slave реализуется средствами MySQL.
Платформа «Битрикс24 в коробке» позволяет гибко балансировать нагрузку между серверами, участвующими в репликации.
Ключевые особенности:
- гибкая балансировка нагрузки SQL;
- простота администрирования;
- дешевое и быстрое неограниченное масштабирование;
- онлайн резервное копирование;
- не требуется доработка логики веб-приложения.
3. Распределенный кеш данных (memcached)
«1С-Битрикс: Веб-кластер» позволяет использовать пул серверов memcached для работы с кешем данных.
Это обеспечивает:
- высокую эффективность – за счет централизованного использования кеша веб-приложением;
- надежность – за счет устойчивости подсистемы кешировния к выходу из строя отдельных компонентов;
- неограниченную масштабируемость – за счет добавления новых memcached-серверов.
4. Непрерывность сессий между веб-серверами (хранение сессий в базе данных).
Возможность хранения данных пользовательских сессий в базе данных обеспечивает «прозрачность» сессии для всех веб-серверов кластера:
- После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов.
- И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.
5. Кластеризация веб-сервера
При разделении проекта на несколько веб-серверов необходимо решить две задачи:
- синхронизация данных (файлов) между серверами;
- балансировка нагрузки между серверами.
Дополнительные материалы: