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

Представьте обычный район, в котором есть пять магазинов одной сети.

Вечером люди возвращаются домой и идут за продуктами. Если все вдруг пойдут в один магазин, там быстро появятся очереди, станет тесно, а обслуживание замедлится.

Хотя буквально через дорогу будут стоять почти пустые магазины.

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

В IT происходит примерно то же самое.

Когда вы открываете приложение банка, вызываете такси или заходите на маркетплейс, ваш запрос попадает не на один сервер. Обычно за сервисом стоит целая группа серверов.

И тут в игру вступает балансировщик нагрузки.

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

Но мне особенно нравится другая его функция.

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

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

Поэтому балансировщик нужен не только для скорости, но и для надёжности.

Получается, что каждый раз, когда приложение открывается за секунду, а сайт выдерживает наплыв пользователей во время распродажи, где-то за кулисами свою работу делает балансировщик нагрузки.

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

#ITдляНеIT

Балансировщик, продуктовые магазины и серверы: больше общего, чем кажется.
Представьте обычный район, в котором есть пять магазинов одной сети.
Вечером люди возвращаются домой и идут за продуктами | Сетка — социальная сеть от hh.ru