Nginx 负载均衡配置(upstream)

£神魔★判官ぃ 2023-10-06 08:29 118阅读 0赞

官方文档 http://nginx.org/en/docs/http/ngx_http_upstream_module.html

文章目录

  • 负载均衡策略(load balancing method)
    • round_robin:轮训(默认)
    • 按权重
    • random:随机
    • ip_hash:ip hash,可以解决session问题
    • least_conn:最少连接数
    • least_time:平均响应时间最短
    • hash:hash 某个值(可包含文本、变量)

负载均衡策略(load balancing method)

round_robin:轮训(默认)

每个请求按时间顺序逐一分配到不同的后端服务器。

  1. upstream backend-server {
  2. server 127.0.0.1:8888;
  3. server 127.0.0.1:9999;
  4. }

按权重

指定轮询几率,weight和访问比率成正比。(默认weight=1)

  1. upstream backend-server {
  2. server 127.0.0.1:7777 weight=3;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999 weight=6;
  5. }

random:随机

  1. upstream backend-server {
  2. random;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999;
  5. }

ip_hash:ip hash,可以解决session问题

按访问ip的hash结果分配,这样每个访客ip固定访问一个后端服务器,可以解决session的问题。

  1. upstream backend-server {
  2. ip_hash;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999;
  5. }

least_conn:最少连接数

  1. upstream backend-server {
  2. least_conn;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999;
  5. }

least_time:平均响应时间最短

  1. upstream backend-server {
  2. least_time header;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999;
  5. }

hash:hash 某个值(可包含文本、变量)

查看nginx所有变量

  1. upstream backend-server {
  2. hash $cookie_JSESSIONID;
  3. server 127.0.0.1:8888;
  4. server 127.0.0.1:9999;
  5. }

reference:
nginx负载均衡的5种策略(转载)


end

发表评论

表情:
评论列表 (有 0 条评论,118人围观)

还没有评论,来说两句吧...

相关阅读