文章目录
nginx
在服务器集群中,nginx起到一个代理服务器的角色(即反向代理)
网关和代理服务器区别
吞吐量
量级不同,单台nginx吞吐量在10WQPS,而一个java网关在1000QPS;
负载策略
nginx自带多钟负载均衡策略,网关没有
网关主要用途
网关的主要作用是鉴权、限流和根据url正则转发到具体服务。他的限流也更切合业务;nginx是抗连接+负载均衡的,网关用于业务出口服务。
nginx负载均衡
定义后端服务列表
负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表:
#动态服务器组
upstream dynamic_zuoyu {
server localhost:8080; #tomcat 7.0
server localhost:8081; #tomcat 8.0
server localhost:8082; #tomcat 8.5
server localhost:8083; #tomcat 9.0
}
配置反向代理规则
#其他页面反向代理到tomcat容器
location ~ .*$ {
index index.jsp index.html;
proxy_pass http://dynamic_zuoyu;
}
负载均衡策略
- 轮询
- weight
- ip_hash
- least_coon
- fair
- url_hash
轮询 | 默认方式 |
weight | 权重方式 |
ip_hash | 权重方式 |
least_conn | 最少连接方式 |
fair(第三方) | 响应时间方式 |
url_hash(第三方) | 根据url分配方式 |
轮询
最基本的配置方式,上面的例子就是轮询的方式,每个请求会按照时间顺序逐一分配到不同的后端服务器。