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


19

На даний момент у нас є лише один бек-сервер на кожен сайт / веб-сервіс. Мені буде цікаво почути досвід людей із різними програмами балансування навантаження (те, що працює на Linux).

Що б ти порадив?

Відповіді:


13

Згідно епізоду 27 з подкастів StackOverflow , що Reddit хлопці дійсно , здається, як HAProxy . Ось короткий посібник, в якому показано, що HAProxy використовується з EC2 Amazon . Дізнатися більше можна на веб-сайті HAProxy .


3
Я використовую HAProxy на багатьох виробничих серверах і люблю це. Його легко налаштувати і навіть має простий веб-інтерфейс, щоб перевірити його стан та статистику в режимі реального часу. Екран екрана, який допоміг мені налаштувати мій перший екземпляр HAProxz, можна знайти в [блозі "Сигнал проти шуму" [1]: [1]: 37signals.com/svn/posts/1073-nuts-bolts-haproxy
Уес Олдененберезер

Я забув про аспект керованості. Це звучить дуже приємно.
Марк Ренуф

21

Питання не містить конкретної інформації про навантаження, необхідні функції тощо, тому будь-яка відповідь у кращому випадку є здогадом.

Фунт - хороший вибір для менших / середніх сайтів. Він пропонує підтримку HTTPS та просте налаштування.

HAproxy може масштабувати насичення 10G Ethernet труб і пропонує обмеження підключення, тобто надсилає лише кількість одночасних запитів на кожен сервер бекенда, коли для обробки екземплярів Apache дітей / Ruby on Rails.

nginx чудово підходить як балансир всебічного навантаження та статичний файловий сервер. Він може виконувати стиснення HTTP, перезапис URL-адрес та подання статичних файлів, роблячи балансування завантаження.

Apache також у серії 2.2 є досить хорошим балансиром навантаження. Може зробити те ж саме, що і nginx, але розміщує на сервері більше навантаження, ніж nginx. Дуже варто заглянути, якщо ви вже знайомі з Apache, і дуже зрілий.

Perlbal пропонує просто обмеження підключення до хост-серверів, запити мультиплексування через постійні HTTP-з'єднання та просте налаштування, якщо ви вже використовуєте Perl.

Кеш лаку - це зворотний проксі HTTP, з базовою підтримкою балансування навантаження. Це не чудовий балансир навантаження, але в деяких ситуаціях кешування в пам'яті більшості запитуваних об'єктів може видалити високий відсоток звернень сервера, що має запуск, і він має велику продуктивність. ESI включає потенційно цікаві.

Я не впевнений на 100%, але вгорі голови Perlbal і nginx пропонують певну підтримку для зміни конфігурації без повторного запуску балансира навантаження. Для великих сайтів це критично важливо, і це одна з речей, що хороші комерційні прилади для балансування навантаження добре справляються.

Все вищезазначене - балансири навантажень рівня HTTP (шар 7). Балансири навантажень на рівні TCP / IP мають можливість досягти більшої пропускної здатності, але обмежуються іншими способами. Автор HAProxy написав хороший, читабельний огляд методів та проблем збалансування навантаження: http://1wt.eu/articles/2006_lb/

LVS - широко використовуваний балансир навантаження на рівні TCP / IP. Більшість брандмауерів також можуть виконувати балансування основного навантаження на рівні IP, переміщуючи вхідний запит на діапазон резервних IP-адрес - принаймні PF та Cisco ASA та Juniper Netscreens можуть це зробити.



3

гапрокси добре працює, як і LVS.

FWIW, wordpress.com використовує nginx як їх балансир / проксі.


2

Ми використовуємо LVS у виробництві. Він управляється нашою операційною командою з набором складних і злих сценаріїв. Досить розумна система, яка відповідає замовленням, оголошує дані про стан здоров'я та працездатності наших реалізаторів, щоб дозволити балансиру навантаження встановити ваги відповідно.

LVS, звичайно, дає вам одну точку відмови - балансир навантаження (є способи їх встановити надлишково).

Я вважав, що це занадто складно для налаштування, тому я написав Fluffy Linux Cluster, який грубо базувався на тому, як працює Windows NLB (я думаю ... я не впевнений, як це працює), а також надихнувся CLUSTERIP.

Ми не використовуємо його у виробництві, але Fluffy може завантажити-збалансувати розумну (хоча б 5) кількість серверів без єдиної точки відмови та без центрального вузла управління тощо.


Хм: LVS, злі сценарії, досить розумні системи замовника. Ваша установка точно така, як у нас!
Том Андерсон

2

Раніше я використовував фунт . Це швидко, просто і вимагає мінімальної уваги.



1

Якщо ви вирішите перейти з LVS, то я б також заглянув у Keepalived, якщо ви збираєтесь зробити ваш серверний балансуючий рівень навантаження високодоступним. Я використовував Heartbeat / Pacemaker з LVS протягом декількох місяців і виявив, що це занадто складно і часом нестабільно для простого шару HA LB.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.