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

Урок 365 из 741
Автор: Роберт Басыров
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Просмотров: 51938
Дата изменения: 23.08.2024
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Старт, Стандарт, Малый бизнес, Бизнес

  Цели и задачи

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

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

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

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

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

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

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

  • Масштабирование веб-проекта, повышение производительности;
  • Резервирование всех узлов системы, обеспечение отказоустойчивости и непрерывной доступности;
  • Real-time backup;
  • Снижение стоимости трафика, простая система CDN.

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

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

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

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

  • каждая машина ("нода") в кластере может быть разной сущности: виртуальный хост, VPS, выделенный сервер, инстанс Инстанс в облачных вычислениях – это серверный ресурс, предоставляемый сторонними облачными сервисами.

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

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

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

Примерные рекомендации по "железу"

Интернет-магазин с посещаемостью примерно 150 человек за 10 минут, папка сайта весит 700ГБ, БД 10ГБ.

  • Для memcached: Intel Xeon E-2236 3.4 ГГц, 6 ядер 16 ГБ DDR4 2 × 480 ГБ SSD
  • Для App сервера: Intel Xeon E3-1230 3.4 ГГц, 4 ядра 32 ГБ DDR4 2 × 240 ГБ SSD 2 × 2000 ГБ HDD
  • Для сервера БД: Intel Xeon E-2236 3.4 ГГц, 6 ядер 64 ГБ DDR4 2 × 960 ГБ SSD

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

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

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

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

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

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

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

  Real-time backup

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

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

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

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

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


Нам жаль это слышать… Но мы постараемся быть лучше!

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

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