Дата последнего изменения: 17.01.2024
Использование веб-кластерных технологий позволяет иметь несколько серверов веб-приложений, несколько баз данных, несколько memcached-серверов (на примере 1С-Битрикс: Веб-кластер):
Кластеризация составляющих сайта, благодаря балансировке нагрузки между нодами кластера, позволяет минимизировать время простоя системы. Кроме того, веб-кластер позволяет подключить одну из нод в качестве бэкап-сервера и отменить использование данной ноды для распределения нагрузки от посещений сайта.
Помимо аппаратных, существуют и программные решения балансировки нагрузки между серверами:
Для определения наиболее подходящей конфигурации необходимо проанализировать характер нагрузки на веб-приложение с помощью различных инструментов мониторинга (munin, zabbix, apache server-status).
Высокая нагрузка на процессоры, невысокая/средняя нагрузка на СУБД, редкая смена контента.
Подключенные к веб-кластеру ноды заводятся под балансировщик нагрузки, в результате чего по ним будет распределена нагрузка на процессоры.
Для синхронизации контента подойдет csync2, nfs/cifs-сервер на одной из нод веб-кластера.
Снизить нагрузку на master-базу путем добавления slave-нод. С учетом их мощности распределить между ними нагрузку с помощью параметра Процент распределения нагрузки.
При дальнейшем увеличении нагрузки на СУБД:
Большой объем часто перестраиваемого кэша, контент постоянно обновляется.
Для эффективной работы с кэшем запускаем на каждой ноде сервер memcached и выделяем каждому по несколько GB памяти (в зависимости от требований приложения).
Для синхронизации контента рекомендуется использовать выделенный nfs/cifs-сервер, либо ocfs/gfs или аналоги.