Linux-调度算法区分
相同点
轮询
lvs 静态算法 RR
nginx 服务器组 默认轮询
[root@centos8 ~]#vim /apps/nginx/conf/nginx.conf http { upstream websrvs { #定义服务器组
server 10.0.0.101:80; server 10.0.0.102:80; } } [root@centos8 ~]# vim /apps/nginx/conf/conf.d/pc.conf server { location /{ proxy_pass http://websrvs; #访问服务器组,轮询访问 } }
权重
lvs 静态方法 WRR
lvs 动态方法 WLC:Weighted LC,默认调度方法,较常用
Overhead=(activeconns*256+inactiveconns)/weight
lvs 动态发法 SED:Shortest Expection Delay,初始连接高权重优先,只检查活动连接,而不考虑非活动连接
Overhead=(activeconns+1)*256/weight
nginx
[root@centos8 ~]#vim /apps/nginx/conf/nginx.conf http { upstream websrvs { server 10.0.0.101:80 weight=2; #定义服务器组权重 server 10.0.0.102:80 weight-1; } } [root@centos8 ~]# vim /apps/nginx/conf/conf.d/pc.conf server { location /{ proxy_pass http://websrvs; #根据权重设置访问 } }
least_conn;
#最少连接调度算法,优先将客户端请求调度到当前连接最少的后端服务器,相当于LVS中的WLC
会话绑定
lvs 静态方法
SH:Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往
第一次挑中的RS,从而实现会话绑定
nginx http upstream配置参数
hash $cookie_sessionid #基于cookie中的sessionid这个key进行hash调度,实现会话绑定