千家信息网

nginx如何实现负载均衡轮询方式配置

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,这篇文章主要介绍了nginx如何实现负载均衡轮询方式配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、概述Nginx的upstre
千家信息网最后更新 2024年10月20日nginx如何实现负载均衡轮询方式配置

这篇文章主要介绍了nginx如何实现负载均衡轮询方式配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、概述

Nginx的upstream目前支持的分配算法:
1、round-robin 轮询1:1轮流处理请求(默认)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
2、weight 权重(加权轮询)
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3、ip_hash 哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。应用服务器如果故障需要手工down掉。
参数含义:
down:表示单前的server暂时不参与负载
weight:默认为1,weight越大,负载的权重就越大。
max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。

二、配置

1、round-robin 轮询(默认)

upstream tg-t4 {    server 10.0.0.110:8099;    server 10.0.0.110:8098;}server {    listen 8096;    server_name www.tg-t4.com;    location / {    proxy_pass http://tg-t4;    }}

访问结果:ABABABABA

2、加权轮询

upstream tg-t4 {    server 10.0.0.110:8099 weight=2;    server 10.0.0.110:8098 weight=5;}server {    listen 8096;    server_name www.tg-t4.com;    location / {    proxy_pass http://tg-t4;    }}

访问结果:ABBABB ABBABB

注:weight影响的访问结果是按最小比例算的,而不是理想状态下:AABBBBB AABBBBB

3、ip_hash

upstream tg-t4 {    server 10.0.0.110:8099;    server 10.0.0.110:8098;    ip_hash;}server {    listen 8096;    server_name www.tg-t4.com;    location / {    proxy_pass http://tg-t4;    }}

访问结果:

IP1:AAAAAA

IP2:BBBBBB

4、热备

upstream tg-t4 {    server 10.0.0.110:8099;    server 10.0.0.110:8098 backup;}server {    listen 8096;    server_name www.tg-t4.com;    location / {    proxy_pass http://tg-t4;    }}

访问结果:

访问1:两个服务均正常。AAAAAA

访问2:停用10.0.0.110:8099。BBBBBB

访问3:重启10.0.0.110:8099。AAAAAA

5、加参数优化

upstream tg-t4 {    server 10.0.0.110:8099 weight=1 max_fails=2 fail_timeout=2;    server 10.0.0.110:8098 weight=3 max_fails=2 fail_timeout=2 backup;}server {    listen 8096;    server_name www.tg-t4.com;    location / {    proxy_pass http://tg-t4;    }}

访问结果:同4

backup优先级最高,当有了这个参数设定,那么所对应的服务只能作为热备。

感谢你能够认真阅读完这篇文章,希望小编分享的"nginx如何实现负载均衡轮询方式配置"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0