跨多个应用程序实例的负载均衡是一种常用的技术,用于优化资源利用率、最大化吞吐量、减少延迟和容错配置。Nginx
可以作为一种非常有效的HTTP负载均衡器在不同的部署场景中使用。
小试牛刀
要使用Nginx
平衡一组服务器的Http请求,首先需要使用upstream
指令来定义这个组。这个指令放在http
上下文中。组中的服务器使用server
指令配置(与http
上下文中的server
不同,这是一个简单指令)。我们在/etc/nginx/conf.d
目录下,创建一个test.conf
文件,具体配置如下:
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
upstream backend {
server localhost:8080;
server localhost:8081;
}
server {
listen 8080;
location / {
proxy_pass http://localhost:5000;
}
}
server {
listen 8081;
location / {
proxy_pass http://localhost:5001;
}
}
上面配置中,定义了一个名为backend
的服务器组,当有请求进来时,将会传递到服务器组。这个服务器组由两个服务器组成,因为没有指定负载均衡算法,所以将采用轮询算法。所以,HTTP请求将会在这两条机器交替执行。又因为这两台服务器分别代理着