Варіанти навантаження-балансира [закрито]


25

Я розглядаю ряд можливих варіантів збалансування навантаження.

Поки що я обмежений такими варіантами:

  • Балансовий навантажувач DNS-сервера, балансуючи до кластеру серверів tomcat, з теракотою для реплікації сеансу. Плюси - не потрібно купувати новий комплект. Мінуси - фунт DNS може продовжувати направляти на зламаний сервер.

  • Апаратний балансир завантаження, прямий на кластер серверів tomcat. Плюси - може бути другий ящик для відкази фунтів. Мінуси - витрати.

  • Балансир завантаження сервера Apache. Плюси - опитування lb апаше на зламані сервери. Мінуси - сервер apache - це єдиний момент відмови, плюс необхідність придбати інший сервер.

Чи є інші варіанти, які я повинен розглянути?

Спасибі.

Оновлення: Дякую за всі відповіді до цього часу + 1 у всіх напрямках. Ще не прийнявши відповіді, щоб продовжувати надходити більше ідей.


Яка платформа ОС?
подружжя

Для балансирів навантаження S / W це буде Linux
інструментарій

Вікна, вбудовані в мережеве балансування навантаження, також не погані для балансування навантаження на дешевому. Але особисто я б сказав, якщо для вас це коштує будь-яких грошей, придбайте F5.
sclaron

Якщо ви не займаєтесь теракотою, яка спорідненість до сеансу вам потрібна? IP на основі файлів cookie, на основі заголовка?
sh-beta

@ sh-beta - я думаю, це залежить від реалізації?
інструментарій

Відповіді:


7

я б не хотів би на основі dns-фунтів - саме з тієї причини, яку ви перераховуєте.

nginx або лак може бути вашим іншим параметром фунт / відмову, який сидить перед appservs і виступає як зворотний проксі. вони вимагають більшого догляду, ніж коробка обладнання, але заощадять вам досить багато грошей. не забудьте поставити цих балансирів і в якийсь кластер [активний пасив із серцебиттям зробить трюк].


11

Якщо ви дивитесь на прилади для балансування навантаження, ви дійсно не можете помилитися з F5 Big-IP

редагувати: Причина, по якій я кажу, просто переходьте з Big-IP, це те, що це приємний пристрій для адміністраторів серверів, які не мають великого досвіду роботи з мережевими пристроями. Він має приємний веб-інтерфейс з майже необмеженими параметрами конфігурації та звітності. Вони є найнадійнішими і найменш дорогими з усіх варіантів балансування навантаження на "підприємство".

Ось посилання на дослідження варіантів доставки додатків у 2007 році: результати Gartner


1
Мені подобаються великі IP-адреси F5. Це також чудово обробляти прискорення SSL, щоб веб-сервери могли просто працювати з звичайним HTTP.
Кріс В. Реа

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

Ми запускаємо велику організацію на них, я не дуже впевнений, які останні оновлення стосуються використання F5.
сканарсон

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

6

Я пропоную використовувати HAProxy . Це надзвичайно швидко. Ви також можете уникнути єдиної точки відмови, використовуючи два балансири з CARP (* BSD) або UCARP / LVS (Linux)


4

Ми вже багато років використовуємо Coyote Point Equalizer (апаратні балансири навантаження) і дуже раді їм. Вони можуть мати не всі функції F5, але вони все ще мають багато функцій, і коштують вони набагато дешевше. Продуктивність та надійність були чудовими.


+1 для цього. У нас є і пара койотів, вони вже кілька років працюють і все ще гудуть.
Сет

3

Я схильний використовувати апаратні LB, оскільки вони часто можуть обробляти максимум великого обсягу трафіку, часто «простіші», тому більш здатні бути загартованішими краще / легше, а іноді можуть також керувати іншими проблемами безпеки, такими як напади SYN-потоку в апаратному забезпеченні. Я використовую ливарне виробництво, але є вибір на вибір (F5, Cisco тощо) - хоча витрачено :(


1

Cisco GSS (Global Site Selector) - це сервер DNS, який також здійснює перевірку стану здоров'я. Очевидно, це буде більш дорогим варіантом, ніж звичайний DNS-сервер. Веб-сторінка з більш детальною інформацією тут: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Як згадував Chopper3, апаратне врівноваження на основі обладнання, ймовірно, забезпечить більшу продуктивність, але ви заплатите за це.

Особливості, які ви можете шукати, це: завантаження SSL, підтримка vlan, контексти, кластеризація, підтримка протоколів маршрутизації та підтримка / взаємодія з різними програмами (тобто HTML-файли cookie та модифікація заголовка).


1

Ви подивилися на ldirectord ?

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


1

Я виявив, що перехрестя було чудовим балансиром навантаження. Ми працювали з нашими виробничими навантаженнями протягом семи місяців, тоді як хлопці мережі вирішили апаратну проблему з балансиром завантаження Cisco.


0

Я написав програмний балансир навантаження, який не потребує окремої машини.

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

Пухнастий кластер тут

Це в основному поверхнево схоже на NLB Microsoft (я думаю) - хоча я не маю їх джерела і не знаю, як саме працює їхнє.

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

EDIT: Ви не сказали, що таке ОС, Fluffy кластер є лише Linux.


Виглядає круто. Я хотів би скористатися ClusterIP, але він не готовий до виробництва, і є занадто багато gotchas. Чи плануєте ви зробити Fluffy кластер готовим до виробництва?
diq

Якщо в ньому є інтерес, я це зроблю. Для випуску обмежених можливостей потрібна порівняно мала робота.
MarkR

0

keepalived - це ще один балансир завантаження Linux, який підтримує декілька алгоритмів балансування навантаження (очевидно) та VRRP для створення зайвих екземплярів з автоматичним відмовою, коли поле балансира навантаження знижується


0

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

Компанія, над якою працюю, використовує Apache для переходу до наших серверів Tomcat, а балансир навантаження знаходиться в тому ж полі, що і деякі Tomcat (tomcats використовують внутрішні порти). Незабаром ми перейдемо до спеціалізованого вікна балансира навантаження. Незабаром ми перейдемо до Nginx, але я вважаю, що конфігурація простіша і вся справа набагато легша, ніж Apache. Залежно від вашої мережевої архітектури, я б також радив вам використовувати внутрішній "плаваючий IP" для балансира навантаження, а також запустити щось на зразок серцебиття, щоб переключити IP в інше поле, якщо потрібно. Це додасть можливості відмовитись, не турбуючись про проблеми поширення DNS.


0

Я створив рішення з DNSMadeEasy . У них є хороший показ екрану щодо відмови DNS. Вони мають розумні ціни. У нашій системі ми реалізували просту службу, яка "пінговує" різні компоненти нашої системи (база даних, черга JMS, з'єднання S3) і повертає ОК, який DNSMadeEasy може використовувати. Щоразу, коли настає виняток, DNSMadeEasy видалить цей сервер зі списку серверів, які відповідають на це пошук DNS.



0

Привіт @toolkit Ви коли-небудь реалізовували NGinX / Varnish у своєму квесті LoadBalancer (LB)? якщо так, то які були ваші результати? (якщо ви не проти поділитися з іншими нами ;-)

Просто підсумувати вищесказане (і згадати ZMQ)

Базове балансування навантаження

Більш розширений

  • ZeroMQ може впоратися з феноменальною одночасністю та завантаженням, але не розроблений з урахуванням LB; Його черга повідомлень - яка по суті поширює (вирішує) вхідні запити. Якщо ви відчуваєте пригоди, рекомендую заглянути до цього (2-х годинна крива навчання - висока рентабельність інвестицій! ):
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.