Что может Веб-кластер

Урок 206 из 267
Автор: Роберт Басыров
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Дата изменения: 21.11.2019
Просмотров: 8100
Ограничения по редакциям: Старт, Стандарт, Малый бизнес, Бизнес

Цели и задачи

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

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

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

Модуль Веб-кластер позволяет использовать:

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

Внимание! Если серверы СУБД кластера расположены в разных дата-центрах, необходимо настроить на них единую временную зону.

Модуль "Веб-кластер" решает несколько очень важных практических бизнес-задач.

Масштабирование веб-проекта, повышение производительности

Рост популярности и посещаемости веб проекта требует увеличения ресурсов (CPU, памяти, дискового пространства). До определенного порога задача решается просто. С виртуального хостинга сайт переносится на VPS, затем - на свой выделенный сервер, затем - на более мощный сервер. При этом каждый новый перенос сайта на новые ресурсы сопровождается временной недоступностью сайта в период переезда. Но рано или поздно ресурсов оказывается недостаточно.

"1С-Битрикс: Веб-кластер" гибко, в реальном времени, масштабирует именно те ресурсы (база данных или веб-сервер), которые востребованы в настоящий момент. Просто добавляя/отключая новые машины по мере необходимости.

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

  • каждая машина ("нода") в кластере может быть разной сущности: виртуальный хост, VPS, выделенный сервер, инстанс в "облаке" (например, Amazon EC2);
  • ноды могут быть распределены любым удобным образом - вплоть до нахождения в разных датацентрах;
  • добавление нод различной мощности в среднем дает пропорциональный прирост производительности.

Пример: если ваш сайт работает на выделенном сервере с одним процессором Intel Quad Core, 4 Гб RAM и в пиках посещаемости может обрабатывать до 40 запросов в секунду, то добавление второго такого же сервера в веб-кластер повышает производительность примерно на 90-95% и позволяет обрабатывать в пиках до 77 запросов в секунду.

Подобный подход позволяет последовательно по мере необходимости наращивать ресурсы для проекта.

Резервирование всех узлов системы, обеспечение отказоустойчивости и непрерывной доступности

Выход из строя оборудования или авария в датацентре может привести к многочасовой недоступности сайта. А это чревато последствиями:

  • потерянные заказы (в случае интернет-магазине);
  • впустую потраченные деньги на рекламу;
  • потеря репутации;
  • потеря позиций в выдаче поисковых систем в случае переиндексации поисковым роботом в момент недоступности сайта.

Кластеризация всех составляющих сайта (веб-сервер и база данных) с помощью "1С-Битрикс: Веб-кластер" минимизирует время простоя системы. В зависимости от того, как именно реализована балансировка нагрузки между нодами кластера, время недоступности сайта может составить 5-15 минут, а в отдельных случаях и вовсе может быть сведено к нулю.

Как это работает: при аварии на отдельных нодах вышедшие из строя узлы кластера помечаются неактивными (OFFLINE), а нагрузка на систему автоматически распределяется между оставшимися узлами.

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

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

Real-time backup

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

"1С-Битрикс: Веб-кластер" подключает одну из нод в качестве бэкап-сервера. Это может быть не очень дорогой сервер или, например, VPS. В настройках веб-кластера отмечается, что данная нода используется только для бэкапа, и она не участвует в распределении нагрузки от посещений сайта. При этом данные сайта (и файлы, и база данных) дублируются в реальном времени. В случае аварии будут восстановлены актуальные данные на момент сбоя. Для максимально быстрого восстановления обращения к сайту могут быть переключены непосредственно на резервный бэкап-сервер.

Снижение стоимости трафика, простая система CDN

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

Ноды веб-кластера размещают в разных датацентрах (например, три сервера: в США, в Европе и в России). Дополнительные инструменты (например, базы GeoIP) автоматически определяют регион посетителя сайта и перенаправляют его запрос на соответствующую ноду кластера. (Подобный механизм, регулирующий загрузку контента в зависимости от географического положения клиента, называется CDN - Content Delivery Network).

Документация по теме:


Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас