Nginx负载均衡的5种方式

声明
Nginx共支持5种负载方式,以此来实现相关的请求流量分派。通过在不同机器上计算。最终结果返回用户。
值得一提的是,以下负载方式,没有经过博主验证过,在实际使用使用待调试。
有什么错误发现,还望提醒!!!
图解理解

这里写图片描述

轮询分派
upstream loop{
    server 127.0.0.1:8080
    server 127.0.0.1:7080
    server 127.0.0.1:6305
}
按照默认轮询的方式进行负载,
假设后端server down掉,能自己剔除。
缺点:可靠性地,负载不均衡,机器性能可能不一致
权重分派
upstream loopweight{
    server 127.0.0.1:8080 weight = 5;
    server 127.0.0.2:7080 weight = 5;
    server 127.0.0.3:6305 weight = 10;
}
考虑1和2的机器配置低,或者1和2的性能不如3的时候
这样将3的权重设置大一些,更多的请求会被分配到3上。
为1和2分担更多的请求。
IP哈希
upstream iphash{
    ip_hash;
    server 127.0.0.1:8080;
    server 127.0.0.2:7080;
    server 127.0.0.3:6305;
}
这里的IP说的是客户端的出口IP,这样经过 des_server_ip = hash(ip)
相应的ip在没有down掉的情况下,肯定会hash到固定的ip上。
URL哈希
upstream urlhash{
    server 127.0.0.1:8080;
    server 127.0.0.2:7080;
    server 127.0.0.3:6305;
    hash $request_uri;
    hash_method crc32;
}
按照URI进行哈希,固定的URI Hash到固定的server上。
性能,相应时间分派
upstream iphash{
    server 127.0.0.1:8080;
    server 127.0.0.2:7080;
    server 127.0.0.3:6305;
    fair;
}
性能,相应时间分派:
按后端服务器的响应时间来分配请求。响应时间短的优先分配。
down And backup
    upstream iphash{
        server 127.0.0.1:8080 down; #当前server不参与负载
        server 127.0.0.2:7080;
        server 127.0.0.3:6305 backup; #非backup的机器(参与负载的机器),down掉或者忙的时候,请求backup机器。备用机
        fair;
    }
应用
listen 80;
server_name www.domain.com
location ~^ /api{
    proxy_pass http://loopweight    #选择一种你喜欢的负载策略
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值