Nginx反向代理负载均衡

负载均衡配置

负载均衡是用在多应用服务中来优化资源使用、最大化吞吐量、减少延迟、保证系统容错能力的策略。
Nginx通过ngx_http_upstream_module 模块实现反向代理服务器的负载均衡功能。

http {
    upstream backend {
        server backend1.example.com weight=5;
        server backend2.example.com;
        server 192.0.0.1 backup;
        keepalive 32;
    }
    server {
        location / {
            proxy_pass http://backend;
        }
    }
}

upstream name { ... }
指定一组名称为name的代理服务器。

server address [parameters]
指定服务器地址,可以是ip或域名,未指定端口时默认80。服务器可以配置的参数主要有:

  • weight=number 轮询权重
  • max_conns=number 最大连接数
  • max_fails=number 不可访问错误次数
  • fail_timeout=time 不可访问时间,错误次数时间间隔
    (如果在fail_timeout时间内错误次数超过max_fails次,则服务器不可访问fail_timeout时长)
  • backup 指定为备用服务器
  • slow_start=time 慢启动时长,权重从0到full的时间
  • down 服务器不可访问

keepalive connections
每个worker进程的缓存的空闲连接数,采用LRU策略,

负载均衡策略

  • 轮询,默认策略,通过weight=number指定权重
  • least_conn:最小连接数策略,根据权重配置,将新的请求分配给当前活动连接数最少的server,连接数相同时轮询分配。
  • least_time header | last_byte[inflight]:最快响应策略。
  • ip_hash 根据ip的哈希值进行分配,取ipv4地址前三段
  • hash key [consistent]:根据key指定的值进行哈希运算,分配请求。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容