Выбирайте балансировку по протоколу, доступным признакам маршрутизации, длительности запросов и состоянию приложения. L4 распределяет соединения, L7 может учитывать HTTP-путь, host и заголовки.
Как понять, какой тип балансировки нагрузки использовать?
Выбирайте балансировку по протоколу, доступным признакам маршрутизации, длительности запросов и состоянию приложения. L4 распределяет соединения, L7 может учитывать HTTP-путь, host и заголовки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Выбирайте балансировку по протоколу, доступным признакам маршрутизации, длительности запросов и состоянию приложения. L4 распределяет соединения, L7 может учитывать HTTP-путь, host и заголовки.
Для одинаковых коротких запросов часто достаточно round robin, при неравномерной длительности полезны least connections или адаптивные алгоритмы. Для кеша и affinity может понадобиться consistent hashing, но горячий ключ остаётся риском.
Уточните, где завершается TLS, нужны ли sticky sessions, поддерживаются ли WebSocket/стримы и как исключается нездоровый backend. Локальное состояние сессии усложняет перераспределение; лучше заранее определить его хранение. Алгоритм проверяют на реальном распределении нагрузки и отказах.