APIAxle

时间:2015-06-16 06:04:07

标签: node.js nginx apiaxle

我在两个不同的实例中使用了我的REST API(不同的亚马逊盒子)。我前面说我有APIAXLE,它的工作正常。我想要的是对来自APIAXLE的请求进行负载均衡。

如何为此配置nginx。

现在我按如下方式配置了nginx:

upstream apiaxle_cluster {
       server 127.0.0.1:3001;
    }


server {
       listen 8000;
       server_name xx.xx.xxx.x;(IP 1st instance)

       location /abcd {
          proxy_pass http://127.0.0.1:3001;---------------> APIAXLE-PROXY running port
          proxy_set_header Host "placesv2.api.localhost";
       }

        location /oauth {
          proxy_pass http://127.0.0.1:2500;-------------->My REST API running port
          proxy_set_header Host "placesv2.api.localhost";
       }

    }
}

如何修改上述配置以进行负载均衡。 是否在APIAXLE中可以使用负载平衡?

1 个答案:

答案 0 :(得分:0)

您的配置全部使用本地主机 - 假设您要将其替换为其他服务主机ips?

如果你把它传递给上游,基本上proxy_pass会加载平衡。看起来你需要两个端口用于两个服务,所以我认为你可能需要两个上游(有更多nginx fu比我的人可能也会消除它)。我会尝试以下方法:

upstream apiaxle_cluster_abcd {
       server host1:3001;
       server host2:3001;
    }

upstream apiaxle_cluster_auth{
       server host1:2500;
       server host2:2500;
    }

server {
       listen 8000;
       server_name xx.xx.xxx.x;(IP 1st instance)

       location /abcd {
          proxy_pass apiaxle_cluster_abcd
          proxy_set_header Host "placesv2.api.localhost";
       }

        location /oauth {
          proxy_pass apiaxle_cluster_auth
          proxy_set_header Host "placesv2.api.localhost";
       }

    }
}