Введение 2
1 Основные принципы балансировки нагрузки 3
1.1 Общее описание задачи балансировки нагрузки 3
1.2 Виды и уровни балансировки нагрузки 13
1.2.1 Балансировка на сетевом уровне 13
1.2.2 Балансировка на транспортном уровне 15
1.2.3 Балансировка на прикладном уровне 17
1.3 Алгоритмы и методы балансировки нагрузки 18
2 Приложение для балансировки нагрузки на комплексе серверов
виртуальных машин 28
2.1 Формулировка задачи для построения приложения 29
2.2 Анализ задачи 33
2.3 Проектирование структуры приложения 37
2.4 Пример файлов конфигурации и журнала приложения 41
Заключение 43
Список источников 44
Приложение А 46
В настоящее время получили большое развитие технологии виртуализации серверов в связи с потребностями в рациональном распределении аппаратных ресурсов за счет консолидации, уменьшении стоимости оборудования и занимаемого пространства, уменьшении затрат на замену и модернизацию физического оборудования серверов, обеспечении высокой доступности и непрерывности работы [1].
Однако, одновременно с этим повышается сложность администрирования таких систем — в частности, в отношении распределения нагрузки между серверами: на каждый сервер можно назначить некое конечное число нагрузок, и каждая нагрузка имеет требования по мощности, которые могут часто меняться. Отсюда происходит проблема балансировки нагрузки. Соответственно, цель данной работы — спроектировать приложение для автоматизации процесса балансировки нагрузки на комплексе серверов виртуальных машин. Для этого в первой части работы будет произведен обзор общей постановки задачи балансировки, рассмотрены виды и уровни балансировки, а также существующие основные алгоритмы и методы распределения нагрузки. Во второй части работы будет конкретизирована постановка задачи для данного случая, проведен анализ этой задачи и спроектировано приложение.
В данной работе была рассмотрена проблема распределения вычислительных нагрузок в виртуальных средах и упрощения администрирования таких процессов за счет автоматизации.
В первой части данной работы проведен обзор основных принципов балансировки нагрузки, включающий общую формулировку задачи, виды балансировки и основные методы решения.
На основе этих данных во второй части производится конкретизация задачи, ее анализ и проектирование приложения, позволяющего автоматизировать распределение нагрузки между серверами и гибкое поведение системы при изменении условий окружения, а также приводятся примеры файлов конфигурации и журналирования из текущей реализации. В настоящий момент текущая реализация приложения проходит этап опытной эксплуатации в фирме-заказчике.