Nginx作为负载均衡服务的常用模块参数和调度算法

    xiaoxiao2022-07-13  186

    Author:Bruce

    Nginx作为负载均衡服务的实现: 上图中 当用户通过域名解析访问负载均衡服务器时,Nginx会把访问请求抛给上面的三台web服务器. upstream 模块定义了一个地址池(这里定义一个地址池叫Pool),地址池里有三台web服务器, proxy_pass 模块定义了一个“丢向”的目标Pool. 参数: weight=n ,n是数字,越大表示接受用户访问的比例越大. upstream pool{ server 10.0.0.8:80 weight=3; ****本台服务器接受访问比例最大. server 10.0.0.7:80 weight=1; server 10.0.0.9:80 weight=2; } 上例中 平均用户访问6次网站,三台服务接受访问的次数分别是3,1,2

    max-fails=n 定义最大访问失败次数 upstream pool{ server 10.0.0.8:80 max_failes=2; . server 10.0.0.7:80 weight=1; server 10.0.0.9:80 weight=2; } 其余常用upstream模块参数: -fail_timeout 定义访问失败后重新访问的时间间隔; -backup 定义结点热备服务器; 调度算法: upstream模块的默认调度结点算法有 1 --r–轮询调度算法(平均分配); 2 -wrr 权重调度算法(按照weight值大小来分配); 3 ip_hash静态调度算法 (根据访问用户的ip地址计算出哈希值来决定访问后台哪台web服务器) ;比如需要用户输入账户密码登陆的网站,当短时间内同一个用户多次访问网站时,为了避免用户访问网站的其他web服务器而需要再次输入用户密码造成的繁琐和时间浪费. *******************如果配置了ip_hash参数,则不能再次配置backup和weight参数 4-least_conn 定义最小连接数,以防某台web服务器"太闲".

    nginx官方使用手册:http://nginx.org/en/docs/

    最新回复(0)