ZEN Load balancer — теория и практика балансировки нагрузки

load balancer

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

Читать дальше

ZEN Load balancer часть №3. Практика

Zen Load Balancer. Все статьи >>

Развертывание

Образ дистрибутива может быть развернут как на физический сервер, так и в качестве виртуальной машины без каких-либо сложностей. Требование дистрибутива к оборудованию, самые демократичные. Подойдет любой Debian-совместимый компьютер или платформа виртуализации. Для работы Zen LB достаточно одного сетевого интерфейса. В идеале, не плохо что бы их было два, один для управления, а второй для приема клиентских подключений.
Установка Zen LB не чем не отличается от таковой процедуры у любого другого дистрибутива Linux. На первом шаге мастер предложит выбрать язык для процесса установки. В списке присутствует русский, что значительно упростит это мероприятие для неопытных специалистов. Единственное чем выделятся дистрибутив, так это тем, что после выбора языка и страны он автоматически подставляет доступные для этой местности часовые пояса. Это, пожалуй логично, но очень не удобно для тех кто говорит по-русски, но проживает не в России. Поэтому, на последнем шаге установщика, необходимо перейти в пункт «Другие» и из полного списка выбрать нужный часовой пояс.
После установки, управление всеми параметрами балансировщика, осуществляется с помощью веб-интерфейса. Который стоит отметить выполнен качественно, приятен глазу и работает быстро и безотказно.

Читать дальше

ZEN Load balancer часть №2. Немного про Zen LB

Zen Load Balancer. Все статьи >>

Почему ZEN

Прежде чем мой выбор остановился на ZEN Load balancer, я опробовал еще несколько кандидатов среди которых был классический HAProxy и не менее известный Linux Virtual Server. Все трое являются проектами с открытым исходным кодом. Касательно функционала они практически равны, по этому я не обращал на это особое внимание. Основными требованиями было легкость настройки и удобство управления. Во время установки и в процессе настройки дистрибутива Zen LB, присутствует чувство целостности, в нем все работает слаженно и предсказуемо. Именно благодаря этому пункту, практически не колеблясь выбор был сделан в пользу него.

Читать дальше

ZEN Load balancer часть №1. Теория и практика балансировки нагрузки

Zen Load Balancer. Все статьи >>

Когда нужна балансировка

Что есть балансировка нагрузки? Фактически, это распределение входящих сетевых подключений между несколькими вычислительными узлами. При этом, использование для этих целей аппаратных или программных решений, а так же применяемый алгоритм распределения сути, совершенно не меняет. Но, благодаря распределению нагрузки можно решить две достаточно серьезные проблемы.
Во-первых, это распределение нагрузки между вычислительными узлами в ситуации, когда ресурсов одного сервера не достаточно и вертикальное наращивание его мощности уже не возможно. В таком случае, необходимо добавление еще одной вычислительной единицы и применение одного из видов балансировки.
Во-вторых — обеспечение доступности. Как известно, отказоустойчивость любой системы, будь то аппаратное решение или программное достигается путем дублирования основных компонентов. К сожалению, не существует абсолютно надежных жестких дисков, RAID-контроллеров и прочего оборудования, а современный уровень программирования не гарантирует отсутствие сбоев в ПО. По этой причине, при построении отказоустойчивых сервисов, дублируется все, сетевые контроллеры, коммутаторы и в конце концов сами вычислительные узлы. Например, нагрузка создаваемая на один сервер может быть не большой, но при этом хочется, что бы выход одного или нескольких узлов не привел к простою сервиса. В этом случае решением снова может стать балансировщик нагрузки.

Читать дальше