我希望将我的应用程序的v1放在一个池中,将版本v1.1放在另一个池中,然后慢慢增加流入池2的流量并将其减少到池1.
任何人都可以用HA Proxy,Varnish,Nginx或其他什么来展示这样做的具体例子吗?
最佳答案
split clients模块专为此设计:
原文链接:https://www.f2er.com/nginx/435251.html# 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.