nginx负载均衡中常见的算法及原理有哪些?

一、nginx负载均衡常用算法

1.1 轮询

轮询,nginx默认方式。一次将请求分配给各个后台服务器。

upstream backserver {
  server 10.0.0.7;
  server 10.0.0.8;
}

1.2 加权轮询

根据权重加权依次轮询,默认为1,实现类似于LVS中的WRR,WLC等。默认时和rr效果一样。

upstream backserver {
  server 10.0.0.7 weight 20;
  server 10.0.0.8 weight 30;
}

1.3 源地址hash

源地址hash调度方法,基于的客户端的remote_addr(源地址IPv4的前24位或整个IPv6地址)做hash计算,以实现会话保持。

upstream backserver {
  ip_hash;
  server 10.0.0.7;
  server 10.0.0.8;
}

1.4 目的url hash

根据请求的url的hash值分配服务器,当后台服务器为缓存时,效率较高。

upstream backserver {
  consistent_hash $remote_addr;
  server 10.0.0.7;
  server 10.0.0.8;
}

1.5最少连接数

最少连接调度算法,优先将客户端请求调度到当前连接最少的后端服务器,相当于LVS中的WLC。

upstream backserver {
  least_conn;
  server 10.0.0.7;
  server 10.0.0.8;
}

1.6 最快响应时间

根据服务器响应时间来分发,响应时间短,分发越多。

upstream backserver {
  fair;
  server 10.0.0.7;
  server 10.0.0.8;
}

posted @ 2022-01-16 21:20  火火7412  阅读(159)  评论(0编辑  收藏  举报