Балансировка нагрузки 6/7
Leastconn
Допустим есть два сервера: к server1 подключено меньше пользователей, чем к server2, но первый оказывается более перегруженным. Это происходит из-за того, что к server1 подключения поддерживаются дольше, чем к server2.
Такая проблема решается с помощью алгоритма least connections, который учитывает количество подключений, поддерживаемых серверами в текущий момент времени и каждый следующий вопрос передаётся серверу с наименьшим количеством активных подключений.
Как и во всех предыдущих примерах, есть усовершенствованная версия этого алгоритма — Weighted Least Connections — которая делает то же самое + учитывает весовой коэффициент серверов.
Locality-Based Least Connection Scheduling
Этот метод создан для кэширующих прокси-серверов: наибольшее количество запросов передаётся серверам с наименьшим количеством активных подключений. За каждым из клиентских серверов закрепляется группа клиентских IP. Запросы с этих IP направляются на «родной» сервер, если он не загружен полностью. Если загружен, то запрос уйдет на другой, менее чем на половину загруженный сервер.
Locality-Based Least Connection Scheduling with Replication Scheduling
В этом алгоритме каждый IP-адрес или группа IP-адресов закрепляется за целой группой серверов. Запрос передаётся наименее загруженному серверу из группы. Если же все серверы из «родной» группы перегружены, то будет зарезервирован новый сервер. Этот новый сервер будет добавлен к группе, обслуживающей IP, с которого был отправлен запрос. Чтобы избежать избыточной репликации, наиболее загруженный сервер из этой группы будет удалён
#балансировка_нагрузки #engineering
Post #38
232
- 👍 9