多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1. 轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 ~~~ 1 upstream OrdinaryPolling { 2 server 127.0.0.1:8080; 3 server 127.0.0.1:8081; 4 } 5 server { 6 listen 80; 7 server_name localhost; 8 9 location / { 10 proxy_pass http://OrdinaryPolling; 11 index index.html index.htm index.jsp; 12 13 } 14 } ~~~ 2. 加权轮询法:不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。 ``` upstream OrdinaryPolling { ip_hash; server 127.0.0.1:8080 weight=5; server 127.0.0.1:8081 weight=2; } server { listen 80; server_name localhost; location / { proxy_pass http://OrdinaryPolling; index index.html index.htm index.jsp; } } ``` 3. 基于IP路由负载:根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。 ``` upstream OrdinaryPolling { ip_hash; server 127.0.0.1:8080 weight=5; server 127.0.0.1:8081 weight=2; } server { listen 80; server_name localhost; location / { proxy_pass http://OrdinaryPolling; index index.html index.htm index.jsp; } } ``` 4. 基于服务器响应时间负载分配: 根据服务器处理请求的时间来进行负载,处理请求越快,也就是响应时间越短的优先分配。 ``` upstream OrdinaryPolling { server 127.0.0.1:8080 weight=5; server 127.0.0.1:8081 weight=2; fair; } server { listen 80; server_name localhost; location / { proxy_pass http://OrdinaryPolling; index index.html index.htm index.jsp; } } ``` 5. 对不同域名实现负载均衡 ``` upstream wordbackend { server 127.0.0.1:8080; server 127.0.0.1:8081; } upstream pptbackend { server 127.0.0.1:8082; server 127.0.0.1:8083; } server { listen 80; server_name localhost; location /word/ { proxy_pass http://wordbackend; index index.html index.htm index.jsp; } location /ppt/ { proxy_pass http://pptbackend; index index.html index.htm index.jsp; } } ```