Введение
Критически важные интернет-приложения, такие как системы финансового учета, базы данных, корпоративные интрасети и другие, должны бесперебойно и непрерывно функционировать 24 часа в сутки 7 дней в неделю.
При создании серверов, где число внешних запросов очень велико, приходится использовать несколько серверов, загрузка которых балансируется распределяется специальным устройством или программой. Данное явление называется "высокой нагрузкой". Для поддержания сервиса, работающего под высокой нагрузкой есть 3 основных пути. Первый - использование мощного сервера. Данный путь имеет один единственный недостаток, заключенный в том, что одна физическая машина имеет предел, который всегда ниже, чем у тандема серверов. Второй способ - написание оптимизированного серверного программного обеспечения. Это дает возможность обрабатывать больше запросов, но потом этот путь снова упрется в производительность сервера. Кроме того, прийдется оплатить работу целого отдела программистов, да и любая оптимизация имеет свой предел. Ну и 3ий путь - балансировка, или распределение, нагрузка. Под балансировкой распределением подразумевается перенаправление запроса с одного сервера на другой, если первый сервер занят или неисправен. Стоит отметить, что данный прием применяется не только при создании серверных систем, но и при построении сетей, кластеров и др.
Технология распределения нагрузки обеспечивает масштабируемость и высокую отказоустойчивость таких служб, как веб-серверы, службы терминалов, прокси-серверы, виртуальные частные сети (VPN) и службы потокового мультимедиа-вещания , почтовые системы. Данные технологии активно пременяются в задачах, где возможно использовать многопоточную обработку. Например, технологии балансировки распределения нагрузки сети особенно эффективно для корпоративных TCP/IP-служб, например приложений электронной коммерции, обеспечивающих взаимодействие клиента с транзактными приложениями и базами данных внутреннего уровня.
Балансировка Распределение нагрузки сети обеспечивает масштабируемость производительности серверных приложений, таких как веб-сервер, распределяя клиентские запросы среди множества серверов. При увеличении потока поступающих данных можно добавить дополнительные серверы.
Балансировка нагрузки сети обеспечивает высокую отказоустойчивость, автоматически определяя сбой сервера и в течение некоторого времени перераспределяя поток данных от клиентов между оставшимися серверами, не прерывая обслуживание клиентских запросов.
Распределение нагрузки дает возможность увеличить количество клиентов, пользующихся сервисом, предоставляемой данным сервером, увеличить "отзывчивость" сайты, повысить число одновременно обрабатываевых запросов.
Полностью распределенная структура программной службы балансировки нагрузки сети позволяет обеспечивать наилучшую производительность при распределении нагрузки и высокую отказоустойчивость системы.
|