Основне завдання кластера балансування мережного навантаження (Network Load Balancing Cluster, NLB) - забезпечення оптимального завантаження серверів при мінімально-необхідний час відгуку прикладних сервісів інформаційної системи у всіх географічних точках, де вони повинні бути доступні користувачам. Балансування навантаження досягається шляхом розвантаження запитів на кілька паралельно-встановлених серверів. При цьому технології реалізації балансування можуть бути різними.
До додатків, що вимагають балансування, як правило, відносять найбільш типові Web-сервери, сервери електронної пошти і DNS-сервери, які обслуговують мережу Інтернет і корпоративні мережі організацій. Крім цього багато прикладні програми та інфраструктурні сервіси також можуть підтримувати можливість балансування, для чого вони повинні відповідати таким вимогам:
- Узгодженість даних на всіх паралельно-доступних серверах.
- Цілісність асинхронних і тривалих за часом транзакцій.
- Підтримка додатком системної інфраструктури балансування навантаження.
Узгодженість даних - основна проблема, так як всі сервери повинні видавати однакові відповіді користувачам на один і той же запит. При цьому, якщо дані змінилися на одному сервері, то вони повинні бути реплікуються на інші сервера. А в залежності від вимог до часу поновлення реплік на серверах технології реалізації узгодження даних можуть сильно відрізнятися: від перенесення даних оператором системи на диску до організації масштабної системи онлайн-кластеризації і реплікації даних (як в пошукових Web-майданчиках). Фактично, це завдання має вирішувати прикладне програмне забезпечення, але ні в якому разі не «залізо» (найчастіше при закупівлі обладнання підприємством допускається така помилка).
Цілісність транзакцій - одна з найбільш складних проблем при організації NLB-кластера. У NLB-кластерах можливі ситуації, в яких додаток, починаючи роботу з одним сервером кластера, завершує її на іншому сервері. Очевидно, що необхідно забезпечити цілісність даних і коректність завершення транзакції.
Особливе значення ця проблема має при організації мереж з балансуванням навантаження і отказоустойчивостью маршрутизаторів і брандмауерів.
Інфраструктура балансування мережного навантаження забезпечує рівномірний розподіл заявок користувачів між серверами системи балансування. Загальна схема системи балансування приведена на малюнку:
Рис.1. Типова система балансування мережного навантаження
Розрізняють такі рівні реалізації NLB-системи:
Планування NLB-рішення передбачає прийняття рішень з наступних питань:
- Кількість користувачів і інтенсивність запитів, яке впливає на завантаження серверів.
- Географічна распределенность.
- Обсяг даних.
- Підхід до реалізації балансування навантаження.
- Розробка технології реплікації даних на серверах.
- Вимоги до відмовостійкості.