Реклама

Как мы построили Network Load Balancer в MWS Cloud Platform

#Network #Load #Balancer #Cloud #Platform
Как мы построили Network Load Balancer в MWS Cloud Platform

Всем привет, меня зовут Вадим Лазук, я разработчик в команде VPC облака MWS Cloud. Пару месяцев назад мы запустили в Preview сервис Network Load Balancer, а в этой статье решили рассказать о нём подробнее. Сегодня рассмотрим, как устроен балансировщик в нашем облаке, на какой архитектуре он базируется и какие технологии использует под капотом. Читать далее

Всем привет, меня зовут Вадим Лазук, я разработчик в команде VPC облака MWS Cloud Platform. Пару месяцев назад мы запустили в Preview сервис Network Load Balancer, а в этой статье решили рассказать о нём подробнее. Сегодня рассмотрим, как устроен балансировщик в нашем облаке, на какой архитектуре он базируется и какие технологии использует под капотом.

Зачем вообще нужен балансировщик

Допустим, у вас есть сервис, развёрнутый на какой-нибудь виртуальной машине в облаке. У сервиса есть пользователи где-то в интернете. Пока пользователей мало, всё работает нормально. Со временем пользователей становится больше и больше — вы увеличиваете ресурсы своей виртуальной машины, но не можете делать это бесконечно.

Плюс ко всему вы понимаете, что если с вашей единственной виртуальной машиной что-то случится, то сервис попросту перестанет работать. Всё это естественным образом приводит вас к решению: поднять несколько виртуальных машин с одним и тем же сервисом, а перед ними поставить балансировщик, который бы принимал весь трафик на один адрес, равномерно распределял нагрузку между ВМ, умел определять, какая ВМ вышла из строя, и исключать её из трафика, пока она не поднимется. Это минимальный набор функций для любого балансировщика.