Кто выбирает кто должен служить следующий? Немного про Load Balancer. 🗄
Кто выбирает кто должен служить следующий? Немного про Load Balancer. 🗄Слово “сервер” - от английского “to serve” - служить, server = служитель.На сегодня у нас есть веб служители, файловые служители, служители баз данных, почтовые служители, служитель приложений, игровые служители и тд =) Есть еще распределитель нагрузки на служителей - Load Balancer.Который распределяет нагрузку, чтобы какой то сервер не захлебнулся от нагрузки на него и не "упал"/"завис".На схеме бекенд архитектуры это всегда примерно одинаково выглядит |––-– server1Client ——> [Load Balancer]–-->|–––– server2 |–––- server3Load Balancer бывает двух типов физический/аппаратный железка такая устанавливается рядом с серверами, или программный (как например Nginx) 👉ТипыАппаратные/физические обычно используются в крупных датацентрахПрограммные это Nginx, HAProxy, TraefikТак называемые облачные – AWS Elastic Load Balancing (ELB), Google Cloud Load Balancing, Azure Load Balancer.👉Алгоритмы работыможет быть статический, например Round Robin - просто по очереди распределяет запросы 1,2,3,1,2,3,1,2,3. И динамический, типа Least Connections (где меньше всего запросов, туда направлять), Response time (туда где меньше время ответа), Resourse based (где больше ресурсов туда и отправлять, например где свободна память и процессор).👉❓Как вообще мы туда попадаем (на лоадбалансер)мы же просто вводим адрес сайта, или играя в игру (клиент) просто подключается по определенному адресу (endpoint) И такой вопрос у меня был на одном из собеседований - и я просто затупил) Говорю ну просто трафик направляется не на сервер а на балансировщик нагрузки, а меня спрашивают - ну как именно трафик туда направился?Я что то замямлил про то как Nginx все умеет распределять и тд...Учитывая сколько я провозился с DNS у разных провойдеров с А записями для доменов, и поддоменов, сколько там набил шишек и тд - это просто позор (и это не чешское слово - внимание).👉Чтобы ответить правильно, достаточно просто понимать что такое вообще loadbalancer.Выше я уже упомянул что это может быть устройство или программное обеспечение, чтобы подключиться к устройству по сети у него должен быть IP адрес, а программное обеспечение воспроизводит работу это устройства просто программно, и также имеет ip-адрес.Таким образом loadbalancer это просто еще один сервер, которые создается/добавляется/поднимается в архитектуру бекенда, со своим ip адресом. И вот домен moisuperwebproject.com смотрит своей А-записью уже не на конкретный веб-хостинг/веб-сервер, а на ip адрес балансировщика нагрузки. А тот уже принимая на себя весь трафик направляет его в соответствии со своим алгоритмом на другие сервера.Вот так вот просто, я это понимал хай левел, но вот выразить это в предложение и объяснить простыми словами на собеседовании не смог) Теперь смогу)🔥– Теперь и мне понятнее👍– Я это понимал, и мог объяснить❤️– Я ничего не понял, но рад за тебя🇪🇸siervo - служительservir - служитьservicio - услугаservidor - сервер(в компьютерном смысле)#сервер | @andreyposnov