美文网首页Nginx
Nginx作为负载均衡

Nginx作为负载均衡

作者: 燃燃的爸爸 | 来源:发表于2019-05-28 14:10 被阅读0次

一、分为四层负载均衡和七层负载均衡
四层:主要tcp/ip 底层 处理速度快
七层:http层,处理应用层 如http信息

按照地域划分可以分为GSLB和SLB

二、Nginx负载均衡

upstream server


image.png

配置语法:
Syntax: upstream name {...}
Defalut:-
Context:http
案例:
A作为反向代理服务器

upstream test {
    server 192.168.12.16:8001;
    server 192.168.12.16:8002;
    server 192.168.12.16:8003;
}
server {

    listen 80;
    server_name localhost;
    location / {
    proxy_pass http://test;

}
}

B作为realserver 监听3个端口
分别为8001 8002 8003端口/opt/app/{code1,code2,code3}下面
以8001为例,有3个首页分别在

server {
    listen       8001;
    server_name  localhost;

    sendfile on;
    #charset koi8-r;
    access_log  /var/log/nginx/log/static_access.log  main;

    location / {
    root /opt/app/code1;
    index index.html index.htm;
}
    error_page   500 502 503 504 404  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

三、后端服务器在负载均衡调度中的状态

down 当前的server暂时不参加负载均衡
backup 预留的备份服务器,只有当其他都不可用的时候才会开启,当有一个服务正常之后又会是backup的状态
max_fails 允许请求失败的次数
fail_timeout 经过max_fails失败后,服务暂停的时间
max_conns 限制最大的接收的连接数(在后端服务器资源不一致的情况比较合适)

四、调度算法

轮询 按时间顺序逐一分配到不同的后端服务器
加权轮询 weight越大,分配到的访问几率越高
ip_hash 每个请求访问ip的hash结果分配,这样来自同一个ip的固定访问一个后端服务器
url_hash 按照访问的URL的hash结果来分配请求,是每个URL定向到同一个后端服务器(为了改善ip_hash,因为如果通过代理的话ip_hash获取就有问题了。)
least_conn 最少连接数,哪个机器连接数少就分发
hash关键数值 hash自定义的key

相关文章

网友评论

    本文标题:Nginx作为负载均衡

    本文链接:https://www.haomeiwen.com/subject/hdaktctx.html