Балансири завантаження обладнання - Програмне забезпечення: Просто проблема?


26

Якби вартість не була проблемою, чи була б користь від розгортання програмного балансира завантаження для веб-трафіку порівняно з апаратним?

Відповіді:


33

Розмежування балансирів навантаження "апаратне" та "програмне" вже не має сенсу. Так званий "апаратний" балансир навантаження - це процесор ПК класу ПК, мережеві інтерфейси з можливостями обробки пакетів, а також деяке програмне забезпечення для зв'язування все це разом. Балансир завантаження "програмного забезпечення", реалізований на хорошому сервері із сучасними NIC, ... це те саме.

Що ви отримуєте від комерційних пропозицій високого класу, таких як F5 або Citrix Netscaler, це:

  • Багатий і глибокий набір функцій. Їх рішення зріле і може швидко впоратися з усіма загальними потребами, а також і з деякими нестандартними.
  • Відмінна статистика. Типи управління люблять статистику, а мережеві технології розуміють, що статистика може бути корисною і для усунення несправностей.
  • Єдиний постачальник задушиться, коли щось не працює, тобто підтримує договір безпосередньо з постачальником рішень.
  • Зниження витрат на зарплату. Пристрій здебільшого просто працює, а управління ним не займає стільки годин.

З (з відкритим кодом) програмними балансирами завантаження ви не отримуєте протилежне, те, що ви отримуєте, залежить від обраного програмного забезпечення та способів його виконання. Однак, зазвичай ви побачите:

  • Більше часу для налаштування вихідного рішення. Особливо, якщо вам потрібно більше, ніж просто завантажувати балансування, кеш-файли + переписування вмісту + HA, то налаштування програмного забезпечення з відкритим кодом вимагає більше зусиль.
  • Ви будуєте його, ви володієте ним. Якщо ваша компанія налаштовує балансири завантаження програмного забезпечення з відкритим кодом за допомогою домашніх технологій, то ви самостійно відповідаєте за рішення. Документація, оновлення шлях, аварійне відновлення і т.д. буде все повинні бути розглянуті і , можливо , буде здійснюватися вами .

Диференціація насправді не на "апаратне забезпечення", а на "програмне забезпечення". Саме на "купіть перевірений технологічний стек як прилад", а не на "побудуйте його самостійно". Звичайно, існує багато змінних, які слід враховувати при прийнятті остаточного рішення (витрати, набір майстерних навичок, толерантність до простоїв, майбутнє зростання тощо).


2
Хороші моменти, але, безумовно, є навантажувачі на основі ASIC (F5 / ACE / ..?), Які обробляють "багато" в розподілених процесорах, а не в процесорі. Я також оскаржую питання про manhours, особливо якщо вартість годин експерта для налаштування.
Йоріс

Ви коротко згадали про це, але я думаю, що слід підкреслити, що, використовуючи балансир навантаження HW, ви зазвичай отримуєте контракт на підтримку, який ви можете використовувати в будь-який час, коли щось піде не так. Іноді це стає вирішальним фактором для бізнесу, в якому напрямку рухатися.
vmfarms

@Joris, @vmfarms Добре, я згоден. Отримати всі точніші пункти потрібно лише набравши невеликий роман. :-)
Jesper M

Хороша відповідь, однак Barracuda Networks, Loadbalancer.org та Kemp Technologies продають тисячі апаратних / програмних / віртуальних пристроїв на дуже великих сайтах. Вам дуже рідко потрібно щось більше, ніж підтримуваний стек з відкритим кодом Linux / LVS, який вони надають ... Не зрозумійте мене неправильно, стеки Citrix & F5 набагато краще, але для 95% додатків це не має значення. Я написав блог про те , як порівняти навантаження балансиров тут: loadbalancer.org/blog / ...
Малкольм Тернбулл

2

Балансири навантаження на обладнання зазвичай мають більш багатий набір функцій, особливо коли ви потрапляєте на великі, такі як F5. У вас також є додаткова перевага більшої масштабованості через завантаження обладнання.

З іншого боку, якщо ви знаєте, що ваш трафік не буде надто високим, балансири завантаження програмного забезпечення насправді спрацьовують досить добре. Якщо у вас є можливість мати Layer 4 LB, Linux LVS + Keepalived - це дуже хороший варіант. Якщо вам потрібна потужність рівня 7 LB, ви можете дати HAProxy іти.

Отже, підсумовуючи, ГВ ЛШ зазвичай масштабніше, ніж СВ.

Сподіваюся, це допомагає!


"HW LB .. масштаб краще, ніж SW LB" не зовсім точний. HW LB пропонують на сьогодні найбільшу продуктивність на одній шасі . Але хороший дизайн програмного забезпечення LB міг би масштабуватись горизонтально, а значить, так само масштабно (і, ймовірно, дешевше, ніж великий залізний НБ).
Jesper M

2

Кілька думок:

Про: машина, на якій ви запускаєте балансир навантаження, може мати набагато потужніше апаратне забезпечення, тому було б швидше і накладати менші додаткові затримки (хоча в залежності від швидкості ваших зв’язків із зовнішнім світом це може мало змінити).

Зрозуміло: апаратний балансир завантаження, швидше за все, не матиме більше обчислювальної потужності, ніж потрібно (він може працювати на мікросхемі Atom або ARM, а не на вибагливому процесорі Intel / AMD високого класу), тому споживає менше енергії та генерує менше тепло.

Про: встановлення власної програми збалансування завантаження програмного забезпечення може дати вам більшу гнучкість у налаштуванні та пізніших оновленнях / змінах, де апаратне рішення може бути набагато більше закритого рішення «чорного ящика». Хоча якщо ви купуєте керовану послугу для впровадження програмного балансира, це мало матиме значення.

Зрозуміло: якщо ви не керуєте програмним балансиром (тобто завдання передається в аутсорсинг, або ви купуєте послугу в рамках більшого керованого домовленості про розміщення хостингу), ви можете знайти адміністративні збори за підтримку установки, що означають позачергове обладнання рішення буде дешевшим у довгостроковій перспективі. Крім того, не забудьте врахувати свій час у будь-яких витратах, якщо ви або ваша компанія будете керувати балансиром навантаження.


"машина, на якій ви запускаєте балансир навантаження, може мати набагато більш потужне обладнання, тому було б швидше і накладати менше зайвої затримки" - справді? я бачив, як це говорило, що ServerIron може обробляти одночасні з'єднання 15 м, тоді як хапрокси може обробляти 10 тис. тисяч
тайм

@Timmy - я читав тематичне дослідження на веб-сайті haproxy (їхній веб-сайт, на жаль, в автономному режимі), де вони наситили 10Gbps посилання на вікно HAProxy, і це гарно масштабується, і я досить впевнений, що було б більше 10 к одночасних запитів .
Марк Хендерсон

1
Знайшли це - webcache.googleusercontent.com/… (спасибі Google Cache) - ключова лінія 105931 sessions per secondта близько 17% використання процесора - це досить шалено для одного базового процесора Xeon
Марк Хендерсон

@Farseeker - дякую, я не розумів, що вони можуть керувати стільки сеансів.
Тіммі

2

Я також врахував би ці моменти:

Якщо в компанії є відділ інформаційних технологій із спеціалістом з мережі, то апарат LB може допомогти зменшити навантаження на обслуговування з боку команди розробників.

Іноді, спеціально для великих компаній, прийняття нового обладнання, з яким ніхто не знає, як працювати, передбачає наймання дорогих консультантів або навіть нового працевлаштування.

Команда розробників буде ненавидіти апаратне рішення, якщо вони планують наголосити на особливостях балансира навантаження, як, наприклад, прийняти безперервне розгортання.


0

Очевидно HW LB можуть покращити обробку SSL-з'єднань і, отже, зменшити загальну кількість необхідних серверів додатків:

http://highscalability.com/blog/2010/8/12/strategy-terminate-ssl-connections-in-hardware-and-reduce-se.html


2
Апаратне забезпечення для завантаження SSL також доступне безпосередньо для веб-серверів та підтримується всюдисущою бібліотекою OpenSSL в Linux; ця перевага жодним чином не є унікальним для апаратних балансирів навантаження.
Чарльз Даффі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.