Назад | Перейти на главную страницу

Баланс нагрузки HTTP на основе процента трафика или запросов?

Я хочу иметь v1 моего приложения в одном пуле и версию v1.1 в другом пуле, а затем медленно наращивать трафик, идущий в пул два, и уменьшать его до пула один.

Может кто-нибудь показать конкретные примеры того, как это сделать с HA Proxy, Varnish, Nginx или чем-то еще?

В разделить клиентов Модуль разработан специально для этого:

# I like starting my upstream names with _
# so they're not confused with hostnames
upstream _old_upstream {
  server 127.0.0.1:1234;
}

upstream _new_upstream {
  server 127.0.0.1:4321;
}

# Make sure the values here match the names of the upstream blocks above
split_clients $remote_addr $split_upstream {
   10% _new_upstream;
   -   _old_upstream;
}

server {
  location / {
    # EDIT: I forgot, when using variables in a proxy_pass, you have to
    # specify the entire request
    proxy_pass http://$split_upstream$request_uri;
  }
}

Затем, если вы хотите переместить больше трафика на новый сервер, просто измените процент и запустите nginx -s reload.