2016-05-13 8 views
0

NGINXを使用してParse APIの負荷を分散したいnginxロードバランシング - 私は私のAPIの複数のコピーを持たなければならないのですか?

ロードバランスを行うには、すべてのホストでAPIをホストする必要がありますか。

私はそれがこの場合、この

----------        /----- [ api-0.myhost.com ] 
| client | --------> [ api.myhost.com ] ----- [ api-1.myhost.com ] 
----------        \----- [ api-2.myhost.com ] 

に見えるようにしたい、私はnginxのをインストールし、非常にapi-X.myhost.comに私のAPIを展開する必要がありますか?

または、私はapi.myhost.comapi-X.myhost.comにAPIを配備しています。ちょうどnginxをインストールしますか?

+0

本当にLBが必要ですか? –

答えて

0

あなたはちょうどそのように、以下のロードバランシングのためにnginxの設定、api.host.comにnginxのインストール:port

upstream api-app { 
       least_conn; 
       server api-0.myhost.com:port weight=1 max_fails=1; 
       server api-2.myhost.com:port weight=1 max_fails=1; 
       server api-3.myhost.com:port weight=1 max_fails=1; 

     } 

     server { 
       listen 80; 
       listen 443 ssl; 
       server_name api.myhost.com; 



       ssl_certificate /etc/ssl/certs/api_ssl-bundle.crt; 
       ssl_certificate_key /etc/ssl/private/api_com.key; 

       client_max_body_size 2000M; 
       large_client_header_buffers 32 128k; 
       location/{ 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

       proxy_buffers 64 128k; 
       proxy_buffer_size 256k; 
       proxy_pass http://api-app; 
       proxy_connect_timeout 1200; 
       proxy_send_timeout  1200; 
       proxy_read_timeout  1200; 
       proxy_http_version 1.1; 
       proxy_set_header Upgrade $http_upgrade; 
       proxy_set_header Connection ""; 
       proxy_set_header Host $host; 
       proxy_cache_bypass $http_upgrade; 
       } 
     } 

はあなたのAPI-アプリがそのホスト上でリッスンポートです。

+0

私はnginxをインストールし、 'api-0.myhost.com ... api-2.myhost.com'に私のAPIのコピーを持っていますか? – Eltorrooo

+0

アップストリームでプライベートipsを使用している場合、私のapiも聞く 'port'を開く必要がありますか? – Eltorrooo

+0

4つのホストが別のVPC(サブネット)にある場合、4つのホストが4つの別個のサーバーに分かれている場合はプライベートIPアドレス(LANのIPアドレス)を使うことができ、ファイアウォールを使ってIPアドレスをフィルタリングしてapi post –

関連する問題