【Nginx负载均衡】

阿里云 SLB

腾讯云 CLB

青云 QLB

ucloud ULB

四层,处理网络层 IP地址,TCP/UDP,端口号

七层,处理应用层 http https ftp smtp

nginx 负载均衡配置

1.需要使用proxy_pass 代理模块

2.将客户端请求代理到一组upstream虚拟服务池

Syntax: upstream name { ... }

Default: —

Context: http

upstream backend {

server backend1.example.com weight=5;

server backend2.example.com:8080;

server unix:/tmp/backend3;

server backup1.example.com:8080 backup;

server backup2.example.com:8080 backup;

}

server {

location / {

proxy_pass http://backend;

}

}

部署web服务器

mkdir /code/www -p

echo "web01 172.16.1.7" > /code/www/index.html

mkdir -p /code/www

echo "web02 172.16.1.8" > /code/www/index.html

cd /etc/nginx/conf.d/

rename .conf .off *.conf #多个文件后缀更改

vim www.conf

server {

listen 80;

server_name www.oldboy.com;

location / {

root /code/www;

index index.html;

}

}

systemctl restart nginx

部署负载均衡

vim lb_web.conf

upstream oldboy {

server 172.16.1.7:80;

server 172.16.1.8:80;

}

server {

listen 80;

server_name www.oldboy.com;

location / {

proxy_pass http://oldboy;

include proxy_params; #引入自定义优化参数

}

}

后端状态

down server暂时不参与负载均衡

backup 预留的备份服务器 #有自身业务,能为其他业务做备份

max_fails 允许请求失败的次数

fail_timeout 经过max_fails失败后,服务暂停时间

max_conns 限制最大的接收连接数

vim lb_web.conf

upstream oldboy {

server 172.16.1.7:80 down;

server 172.16.1.8:80;

}

server {

listen 80;

server_name www.oldboy.com;

location / {

proxy_pass http://oldboy;

include proxy_params; #引入自定义优化参数

}

}

负载均衡算法

调度算法

轮询 按时间顺序逐一分配到不同的后端服务器(默认)rr

weight 加权轮询,weight值越大,分配到的几率越高 (默认是1)wrr

ip_hash 每个请求按访问IP的hash结果分配,同一个IP访问固定的后端服务器

url_hash 按照访问url的hash结果来分配请求,每个URL定向到同一个后端服务器

least_conn 最少连接数,哪个服务器连接数少就分发 (lc)

wlc 加权最小连接数

vim lb_web.conf

upstream oldboy {

server 172.16.1.7:80 weight=5;

server 172.16.1.8:80;

}

server {

listen 80;

server_name www.oldboy.com;

location / {

proxy_pass http://oldboy;

include proxy_params; #引入自定义优化参数

}

}

--------------------------------------------------------------------------------------------------

vim lb_web.conf

upstream oldboy {

ip_hash;

server 172.16.1.7:80;

server 172.16.1.8:80;

}

server {

listen 80;

server_name www.oldboy.com;

location / {

proxy_pass http://oldboy;

include proxy_params; #引入自定义优化参数

}

}

=========================================================

总结:

nginx负载均衡

软件:

nginx 七层

LVS 四层

硬件:

F5

负载均衡:1对多(集群)

代理:1对1

负载均衡后端类型

down

backup

max_fails

fail_timeout

max_conns

负载均衡孙发

rr:默认,轮询

wrr:加权轮询,默认weight=1

ip_hash

url_hash

least_conn:lc

wlc: 加权lc

nginx 负载均衡

七层负载:

nginx 1.09的版本开始同时支持四层和七层。1.09之前只支持七层

session

基于服务端

cookies

基于客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值