⚡️ Наглядная демонстрация распространенных алгоритмов балансировки нагрузки



Статические алгоритмы



🔘 Round Robin, или алгоритм кругового обслуживания, представляет собой перебор по круговому циклу: первый запрос передаётся одному серверу, затем следующий запрос передаётся другому и так до достижения последнего сервера, после чего всё начинается сначала.



Недостаток алгоритма в том, что в нём не учитывается количество активных на данный момент подключений



🔘 Sticky Round Robin — вариация алгоритма Round Robin. Если первый запрос Алисы отправляется к сервису А, то и последующие запросы также отправляются к сервису А.

🔘 Weighted Round Robin — вариация алгоритма Round Robin. Каждому серверу присваивается весовой коэффициент в соответствии с его производительностью и мощностью.

🔘 Хэш — алгоритм, который применяет хэш-функцию к IP-адресу или URL-адресу входящих запросов. Запросы направляются в соответствующие экземпляры на основе результата хэш-функции.



Динамические алгоритмы



🔘 Least connections — алгоритм, при котором новое подключение передается на сервер, на который в данный момент установлено наименьшее число соединений.

🔘 Least response time — алгоритм, который учитывает не только количество соединений, но и среднее время. Тогда первым в списке будет сервер с наименьшим количеством подключений и наименьшим временем ответа.



🔜 Источник



👉 @PHPgx