⚠️ Это способ сделать систему устойчивее, управляемее и дешевле в масштабировании.
Что важно понимать на практике:
◦ Базово существуют балансировки на уровнях L4 и L7, которые решают разные задачи:
◦ ◦ L4 хорош, когда нужно быстро и просто проксировать соединения.
◦ ◦ L7 нужен, когда появляется логика маршрутизации по URL, headers, cookies и другим признакам.
🌝 Не каждая задача требует сложного алгоритма балансировки.
Для гомогенного backend’а может хватит обычного
Round Robin.Если машины разные по мощности -> то пригодится
Weighted Round Robin - когда мы явно указываем в балансировщике веса.Если важна привязка пользователя к конкретной ноде ->
consistent hashing.😉 Динамические алгоритмы не всегда “умнее” в реальной жизни.
Least connections и least response time звучат красиво, но часто смотрят на условный /ping, который вообще не отражает реальную деградацию. Сервер может отвечать на хелсчек и при этом умирать на тяжёлых запросах в CPU или базе.✏️ Какой bottleneck этим не победить?
Можно раздать запросы на много хостов, но если все они ходят в один инстанс БД, потолок системы останется 😐
🤔 Какую балансировку выбирать?
Пользуемся базовым принципом:
Сначала простая система, которая работает; потом усложнение только там, где это уже действительно необходимо.
Расширенно про балансировку здесь.

