Відповіді:
Розмежування балансирів навантаження "апаратне" та "програмне" вже не має сенсу. Так званий "апаратний" балансир навантаження - це процесор ПК класу ПК, мережеві інтерфейси з можливостями обробки пакетів, а також деяке програмне забезпечення для зв'язування все це разом. Балансир завантаження "програмного забезпечення", реалізований на хорошому сервері із сучасними NIC, ... це те саме.
Що ви отримуєте від комерційних пропозицій високого класу, таких як F5 або Citrix Netscaler, це:
З (з відкритим кодом) програмними балансирами завантаження ви не отримуєте протилежне, те, що ви отримуєте, залежить від обраного програмного забезпечення та способів його виконання. Однак, зазвичай ви побачите:
Диференціація насправді не на "апаратне забезпечення", а на "програмне забезпечення". Саме на "купіть перевірений технологічний стек як прилад", а не на "побудуйте його самостійно". Звичайно, існує багато змінних, які слід враховувати при прийнятті остаточного рішення (витрати, набір майстерних навичок, толерантність до простоїв, майбутнє зростання тощо).
Балансири навантаження на обладнання зазвичай мають більш багатий набір функцій, особливо коли ви потрапляєте на великі, такі як F5. У вас також є додаткова перевага більшої масштабованості через завантаження обладнання.
З іншого боку, якщо ви знаєте, що ваш трафік не буде надто високим, балансири завантаження програмного забезпечення насправді спрацьовують досить добре. Якщо у вас є можливість мати Layer 4 LB, Linux LVS + Keepalived - це дуже хороший варіант. Якщо вам потрібна потужність рівня 7 LB, ви можете дати HAProxy іти.
Отже, підсумовуючи, ГВ ЛШ зазвичай масштабніше, ніж СВ.
Сподіваюся, це допомагає!
Кілька думок:
Про: машина, на якій ви запускаєте балансир навантаження, може мати набагато потужніше апаратне забезпечення, тому було б швидше і накладати менші додаткові затримки (хоча в залежності від швидкості ваших зв’язків із зовнішнім світом це може мало змінити).
Зрозуміло: апаратний балансир завантаження, швидше за все, не матиме більше обчислювальної потужності, ніж потрібно (він може працювати на мікросхемі Atom або ARM, а не на вибагливому процесорі Intel / AMD високого класу), тому споживає менше енергії та генерує менше тепло.
Про: встановлення власної програми збалансування завантаження програмного забезпечення може дати вам більшу гнучкість у налаштуванні та пізніших оновленнях / змінах, де апаратне рішення може бути набагато більше закритого рішення «чорного ящика». Хоча якщо ви купуєте керовану послугу для впровадження програмного балансира, це мало матиме значення.
Зрозуміло: якщо ви не керуєте програмним балансиром (тобто завдання передається в аутсорсинг, або ви купуєте послугу в рамках більшого керованого домовленості про розміщення хостингу), ви можете знайти адміністративні збори за підтримку установки, що означають позачергове обладнання рішення буде дешевшим у довгостроковій перспективі. Крім того, не забудьте врахувати свій час у будь-яких витратах, якщо ви або ваша компанія будете керувати балансиром навантаження.
105931 sessions per second
та близько 17% використання процесора - це досить шалено для одного базового процесора Xeon
Я також врахував би ці моменти:
Якщо в компанії є відділ інформаційних технологій із спеціалістом з мережі, то апарат LB може допомогти зменшити навантаження на обслуговування з боку команди розробників.
Іноді, спеціально для великих компаній, прийняття нового обладнання, з яким ніхто не знає, як працювати, передбачає наймання дорогих консультантів або навіть нового працевлаштування.
Команда розробників буде ненавидіти апаратне рішення, якщо вони планують наголосити на особливостях балансира навантаження, як, наприклад, прийняти безперервне розгортання.
Очевидно HW LB можуть покращити обробку SSL-з'єднань і, отже, зменшити загальну кількість необхідних серверів додатків: