nginx负载均衡策略&动静分离

以下内容输出来源:拉勾教育-Java高薪训练营

一、负载均衡策略

1、轮询

默认策略,每个请求按时间顺序逐一分配到不同的服务器,如果某个服务器下线,能自动剔除

upstream chainServer{
 server 192.168.27.10:8080;//这里后面不要带/
 server 192.168.27.10:8082;
}
location /abc {
 proxy_pass http://chainServer/;//这里不能使用下划线,后面要带斜杠
}

2、权重

weight代表权重,默认每个负载的服务器都为1,权重越高被分配的请求就越多(用于服务器
性能不均衡的场景)

upstream chainServer{
 server 192.168.27.10:8080 weight=1;
 server 192.168.27.10:8082 weight=2;
}

3、ip_hash

每个请求按照ip的hash结果分配,每个客户端的请求会固定分配到同一个目标服务器处理,可以解决session问题

upstream chainServer{
 ip_hash;
 server 192.168.27.10:8080;
 server 192.168.27.10:8082;
}

4、一致性hash算法

由于处理服务器扩容缩容后会引发大量请求迁移问题,nginx负载均衡建议使用一致性hash算法来配置,该模块不在默认安装包中,使用它需要首先下载并安装到nginx中
1)下载

https://github.com/replay/ngx_http_consistent_hash

2)安装
找到nginx的configure脚本执行以下命令行

./configure —add-module=/root/ngx_http_consistent_hash-master
make && make install

3)修改upstream配置

upstream myServer {
			#请求url
			consistent_hash $request_uri;
			#consistent_hash $remote_addr;请求ip
            server 127.0.0.1:8080;
            server 127.0.0.1:8081;
     }

二、配置静态资源访问示例

//和动态请求同级增加一个location配置项
location / {
		# root来指定静态文件存放根目录
        root   /usr/local/applications/web-risk;
        index  judgePcPhone.html;
        add_header Cache-Control 'no-store';
    }
 location ^~/api/{
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://za-web-risk.cn/;

    }

如何计算nginx最大并发连接?

计算nginx最大并发连接时,通常计算公式为(worker_processors*worker_connections)/4
除以4是因为一个请求要占用4个连接,分别用于处理master和worker、worker和tomcat之间的连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值