10 Балансувальник навантаження з відкритим вихідним кодом для HA та покращеної продуктивності

Одним із найшвидших і найпростіших способів налаштувати програму з високою доступністю та покращити продуктивність є реалізація балансувальника навантаження (LB).

На високому рівні існує три типи балансувальників навантаження.

  • На апаратній основі
  • Хмарний
  • На основі програмного забезпечення

Апаратний балансир навантаження — це спеціальний пристрій для розподілу навантаження та відповідних функцій. Деякі з популярних постачальників апаратного забезпечення LB:

Вони дорогі, але дають вам повний контроль.

Хмарний балансувальник навантаження в тренді більше, ніж будь-коли.

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

Ви можете почати від 20 доларів США на місяць.

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

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

гойдалка

Використаний Googleнадійний віртуальний сервер балансування навантаження на базі Linux для забезпечення необхідного розподілу навантаження в одній мережі.

гойдалка розроблено мовою Go і добре працює в дистрибутиві Ubuntu/Debian. Він підтримує будь-яку передачу та DSR (пряме повернення з сервера) і вимагає двох вузлів Seesaw. Вони можуть бути як фізичними, так і віртуальними.

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

  Перевірте, чи ваш браузер уразливий до Spectre

КЕМП

БЕЗКОШТОВНИЙ розширений контролер доставки програм від КЕМП підтримується на всіх основних гіпервізорах. Ви можете завантажити та використовувати його у своєму центрі обробки даних або розгорнути в хмарі DC, наприклад AWS або Azure.

Він безкоштовний, але пропонує комерційний рівень функцій, включаючи наведені нижче.

  • Балансування навантаження рівня 4 для TCP/UDP із використанням циклічного алгоритму або алгоритмів найменшого підключення
  • Балансування шару 7
  • Інтеграція брандмауера веб-додатків (WAF)
  • Вбудований механізм запобігання вторгненням (IPS)
  • Справжнє глобальне балансування навантаження на сервер, підтримує роботу з кількома сайтами
  • Кешування, стиснення контенту, перемикання контенту
  • Постійність веб-куки
  • Тунелювання IPSec
  • Попередня автентифікація
  • Давайте зашифруємо
  • Kubernetes

KEMP LB використовується деякими великими брендами, такими як Apple, Sony, JP Morgan, Audi, Hyundai тощо. Безкоштовна версія надає достатньо можливостей; однак, якщо вам потрібно більше, ви можете перевірити їх комерційну ліцензію.

Якщо ви або ваша організація вирішите дослідити KEMP LB і потребуєте онлайн-навчання, ви можете звернутися до цього онлайн-курс Майка Волтона.

HAProxy

Одним із популярних на ринку є забезпечення високої доступності, проксі, балансування навантаження TCP/HTTP. HAProxy використовується деякими відомими брендами у світі, як показано нижче.

Деякі з функцій, які варто згадати, є.

  • Підтримка IPv6 і сокетів UNIX
  • Стиснення Deflate & Gzip
  • Перевірка здоров’я
  • Закріпленість сеансу на основі джерела
  • Вбудована статистична звітність (перевірка демо)

Як і можна було очікувати, HAProxy отримав корпоративну версію, апаратне забезпечення та віртуальний пристрій.

Найкращий спосіб дізнатися про HAProxy — спробувати їх. Community Edition містить масу функцій, і вони все одно БЕЗКОШТОВНІ.

ЗЕВЕНЕТ

Зевенет підтримка L3, L4 і L7. Він доступний як вихідний код, образ IOS і в репозиторії докерів.

  Чи приватний режим чи режим анонімного перегляду робить веб-перегляд анонімним?

Він підтримує розширений моніторинг працездатності, тому несправні сервери/сервіси швидко припиняють роботу, щоб забезпечити безперебійну роботу користувача. Zevenet, раніше відомий як Zen, добре працює з протоколом на основі TCP, таким як FTP, SIP, SSL, HTTP тощо.

Якщо ви шукаєте хостинг Zevenet, ви можете спробувати Каматера.

нейтрино

нейтрино використовується eBay і створено за допомогою Scala & Netty. Він підтримує алгоритми найменшого з’єднання та циклічного алгоритму з такими функціями перемикання.

  • Використання канонічних імен
  • Контекстний
  • L4 з використанням номерів портів TCP

Neutrino протестовано на обробку понад 300 запитів на секунду на 2-ядерній віртуальній машині. Якщо ви порівнюєте з HAProxy, то однією з основних переваг використання Neutrino є перемикання L7.

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

Баланс

Баланс від In lab networks — це TCP-проксі циклічний LB, який підтримує IPv6 на стороні прослуховування. Це означає, що ви можете мати IPv4 на передньому кінці та IPv6 на задньому кінці.

Він отримав усі основні функції LB.

Перо

Перо перевірено на Linux, FreeBSD, HP-UX, Solaris і Windows, але немає причин, щоб він не міг працювати в іншому дистрибутиві Unix. Він підтримує протоколи на основі UDP і TCP, такі як HTTP, SNMP, DNS тощо.

Деякі з основних функцій включають наступні.

  • Фільтр GeoIP
  • Термінація SSL
  • Сумісність з IPv4 і IPv6

Nginx

Я знаю, що ви можете подумати. Nginx — це веб-сервер, проксі-сервер тощо. Але Nginx із відкритим вихідним кодом підтримує базовий рівень перемикання вмісту та розподілу маршрутизації запитів між кількома серверами.

  Як налаштувати старий ноутбук для дітей

Однак версія Nginx Plus — це набагато більше.

Nginx Plus — це комплексне рішення для доставки веб-додатків, включаючи балансування навантаження, кешування вмісту, веб-сервер, WAF, моніторинг тощо. Воно забезпечує високопродуктивне рішення балансування навантаження для масштабування додатків для обслуговування мільйонів запитів на секунду.

Traefik

Сучасний і швидкий резервний HTTP-проксі та LB, створений за допомогою GO. Traefik підтримка кількох внутрішніх служб Amazon ECS, Docker, Kubernetes, Rancher тощо.

Він підтримує WebSockets, HTTP/2, автоматичне оновлення сертифіката SSL із чистим інтерфейсом Let’s encrypt для керування та моніторингу ресурсів.

Проміжний

Проміжний це мінімалістичний, але потужний високопродуктивний балансувальник навантаження L4 TCP, TLS і UDP.

Він працює на кількох платформах, таких як Windows, Linux, Docker, Darwin, і якщо вам цікаво, ви можете створити з вихідного коду. Балансування виконується на основі наступних алгоритмів, які ви вибираєте в конфігурації.

  • IP хеш
  • Всесвітньо відомий – коловий
  • Найменша пропускна здатність
  • Найменше зв’язку
  • вага

Виходячи з цього орієнтирПосередник швидший за HAProxy, але не від Nginx.

Якщо ви шукаєте сучасне рішення для балансування L4 з автоматичним виявленням для динамічного середовища, то Go-between здається багатообіцяючим. Спробуйте побачити, як воно піде.

Висновок

Я сподіваюся, що наведене вище програмне забезпечення балансування навантаження з відкритим кодом допоможе вам вибрати програму для вашої програми. Усі вони БЕЗКОШТОВНІ, тому найкращий спосіб знайти те, що працює, це спробувати їх.

Якщо ви хочете отримати нові навички, спробуйте Udemy, де доступні тисячі відеокурсів.