负载均衡之nginx

 
 之所以用到nginx来做负载均衡,是因为我们可以通过简单的配置就能达到双机,多机负载均衡的目的;另外,如  负载均衡之Ocelot 所述 网关 API ,如果一个服务群的 网关 挂掉了,那整个服务都无法工作。因此我们可能需要将 网关API 布署在多台机器上,并做负载均衡。
 
以下是我在linux机上对 一个网关做负载的尝试:
 
nginx的配置如下:
 
 #GateWay API_1
server {
    listen 8104;
    location / {
        proxy_pass http://localhost:5101;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
    }
}

#GateWay API_2
server {
    listen 8102;
    location / {
        proxy_pass http://localhost:5102;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
    }
}

#GateWay API_3
server {
    listen 8103;
    location / {
        proxy_pass http://localhost:5103;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
    }
}

#Ocelot api gateway Load Balance 

   upstream ocelot {
server localhost:8104;
      server localhost:8102;
      server localhost:8103;

    }

    server {
        listen       8101;
        location / {
            proxy_pass   http://ocelot ;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection keep-alive;
            proxy_set_header Host $http_host;
            proxy_cache_bypass $http_upgrade;

        }
    }

以上我将网关API布署了 3 套,分别是 
 
localhost:8102
localhost:8103
localhost:8104
 
来代表布署在3台机器上
 
上游服务器端口为 8101。我们还可以根据3台机器的好坏程度来做权重,比如第一台CPU配置最高,配置如下
 
  upstream ocelot {
      server localhost:8104 weight=2;
      server localhost:8102 weight=1;
      server localhost:8103 weight=1;

    }
这样 8104 那台,如果有4次请求,它会接收2次
 
可以看到多次访问,每次指向的内网端口是不一样的
 
综上所述
 
1. 单台机子用会 ocelot api gateway 对高频调用的 API 做负载(ocelot当然也可以做多机负载均衡);
 
2. 在两台服务器上布署好之后,用ngnix配置,将两台运输挂号服务器做负载均衡;

转载于:https://www.cnblogs.com/wikiz/p/10715087.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值