TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.81K subscribers
Post #1791 2.13K
Балансировка нагрузки является основополагающим принципом построения высокодоступных систем

1. Что такое балансировка нагрузки?

Балансировка нагрузки — это практика распределения вычислительных нагрузок между двумя или более компьютерами.

Это делается для повышения отказоустойчивости, улучшения доступности приложений и распределения нагрузки между несколькими машинами.

Балансировка нагрузки может осуществляться на уровне 4 OSI или уровне 7 OSI в зависимости от архитектуры приложения:
* Балансировщики на уровне 4 маршрутизируют трафик на основе IP-адресов и портов
* Балансировщики на уровне 7 предоставляют гораздо больший контроль над маршрутизацией с использованием протоколов, URL-адресов и т.д.

2. Статическая vs динамическая балансировка нагрузки

Статическая балансировка работает на основе предварительно настроенных параметров и идеально подходит для сценариев, где не ожидается резкого роста трафика.

Популярные алгоритмы статической балансировки:
* Круговая система (Round robin)
* Взвешенный круговой алгоритм (Weighted round robin)
* IP-хеши

Динамическая балансировка учитывает текущую доступность, рабочую нагрузку и состояние каждого сервера. Она может перенаправлять трафик с перегруженных или плохо работающих серверов на недозагруженные, обеспечивая равномерное и эффективное распределение.

Популярные алгоритмы динамической балансировки:
* Наименьшее количество соединений (Least connection)
* Взвешенное наименьшее количество соединений (weighted least connection)
* Взвешенное время отклика (weighted response time)
* Балансировка на основе ресурсов (resource-based)

Уровень 4 (Сетевая балансировка нагрузки)

Балансировщик нагрузки создается с указанием IP/DNS и порта, и связывается с группой виртуальных машин, на которых запущена определенная служба на определенном порту

Задача балансировщика — принимать запросы на определенном порту и перенаправлять их на один из доступных внутренних хостов.

Балансировщик может быть настроен на выполнение периодических проверок работоспособности для обеспечения доступности внутренних хостов и приложений.

Уровень 7 (Балансировка нагрузки на уровне приложений)

Конечный пользователь устанавливает соединение с определенным URL.

Балансировщик расшифровывает запрос, анализирует запрашиваемый сервис и направляет его на внутренний сервер, на котором запущен запрошенный сервис.

Балансировка на уровне 7 предоставляет дополнительные преимущества, такие как:
* Завершение SSL-сессий
* Кэширование
* Предварительная обработка запросов
  • ❤ 13
  • 👍 3
  • 🫡 3
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →