Для чего это нужно? Давайте попробуем разобраться в этом вопросе.
И для начала рассмотрим преимущества «многосерверного» решения (load balancing) для сайта. Их несколько. Первое — это более высокая скорость работы веб-проекта. И действительно, два (или более) сервера гораздо быстрее обработают поступающие с компьютеров посетителей HTTP-запросы за счет их разделения между собой. Конечно, существуют и другие способы увеличения производительности сайта. Например, можно попытаться оптимизировать «движок» и базу данных. Или есть другой вариант — попробовать просто нарастить мощность сервера, увеличив число процессоров, добавив оперативной памяти или установив более быстрые жесткие диски. Вот только такое улучшение имеет свои пределы. Увеличить производительность сайта можно и за счет использования «распределенного сервера». То есть все HTTP-запросы принимает специальный модуль, который отправляет его на наименее занятый сервер. Причем в этом случае улучшение производительности может проводиться практически без ограничений за счет увеличения количества серверов.
Плюсов у load balancing несколько. Главные — это высокая скорость и надежность
Второй плюс распределения нагрузки между несколькими серверами — надежность. И действительно, любой компьютер (в том числе и сервер) иногда дает сбои. Кроме того, у него может выйти из строя какое-то оборудование. Таким образом, сайт, расположенный на этом сервере, будет просто-напросто недоступен до тех пор, пока администраторы не устранят причину сбоя или не заменят неисправные комплектующие. В принципе, для персональных страниц и небольших корпоративных веб-проектов, это не страшно. Но для крупных известных сайтов и тем более — для любых систем электронной коммерции, появление такой ситуации может привести к серьезным последствиям. Кроме того, в последнем случае есть вероятность, что сбой возникнет во время совершения какой-то трансакции, в результате чего потерянными окажутся не только важная информация, но и реальные деньги. Таким образом, применение системы распределения нагрузки позволяет в случае выхода из строя одного из серверов автоматически переключить все HTTP-запросы на оставшиеся. При этом пользователи могут вообще ничего не заметить, за исключением, пожалуй, небольшого замедления скорости.
Третий плюс load balancing — постоянный доступ посетителей к сайтуТретий плюс размещения сайта не нескольких серверах — отсутствие необходимости приостанавливать доступ к веб-проекту в случае проведения профилактических работ. Причем нужда в этих самых работах возникает достаточно часто. Во-первых, необходимо периодически менять оборудование сервера. Во-вторых, и это самое главное, администраторам постоянно приходиться обновлять операционную систему и используемое программное обеспечение. Сегодня «дырки» в безопасности находят довольно часто. И на каждую из них приходится ставить «заплату». Если в вашем распоряжении один сервер, то для его остановки лучше всего использовать «тихий час», то есть время с наименьшей активностью посетителей (обычно это 5-7 часов утра). Вот только у такого решения есть два серьезных недостатка. Во-первых, если сайт имеет достаточную популярность на всей территории нашей необъятной Родины, то явно выраженного «тихого часа» может и не быть. Ведь когда в Москве 6 часов утра, то во Владивостоке уже день, и наоборот. А во-вторых, решением проводить профилактику сервера в ночное время будут недовольны администраторы, и их прекрасно можно понять.
Если же ваш сайт размещен на нескольких серверах, то проведение профилактики не является сколько-нибудь значимой проблемой. Просто перенаправляем все запросы на один сервер, а в этом время проводим работы с другим. Ну, а потом наоборот. В этом случае посетители веб-проекта опять же и не подозревают о проведении каких-либо работ. В принципе, точно так же можно поступать и просто для серьезного обновления сайта — например, при смене дизайна. Особенно удобен этот вариант при необходимости обновления «движка» веб-проекта. Пока пользователи работают со старым сайтом на одном из серверов, администраторы имеют возможность поменять скрипты и протестировать их работоспособность на другом.
Минус load balancing — высокая стоимостьК сожалению, есть у «многосерверного» решения и недостаток. Причем, очень серьезный недостаток. Речь идет о деньгах. Дело в том, что размещение сайта на двух, а тем более, на нескольких сервера потребует от его владельца больших затрат. Кроме того, и ежемесячное обслуживание будет стоить гораздо больше. Поэтому использование принципа распределенной нагрузки целесообразно только для крупных информационных проектов или систем электронной коммерции, для которых очень важна постоянная работоспособность сервера.
Ссылки по теме
- Что такое хостинг
- За что мы платим хостеру
- Обзорная статья о colocation
Статья получена: hostinfo.ru