2017-02-13 2 views

答えて

0

次のような簡単な設定使用してロードバランサとしてnginxの使用することができるはずです。

http { 
    upstream myproject { 
    server 127.0.0.1:8000 weight=3; 
    server 127.0.0.1:8001; 
    server 127.0.0.1:8002; 
    server 127.0.0.1:8003; 
    } 

    server { 
    listen 80; 
    server_name www.domain.com; 
    location/{ 
     proxy_pass http://myproject; 
    } 
    } 
} 

ドキュメント: https://www.nginx.com/resources/admin-guide/load-balancer/

これは、ルートあなたが言及したPOSTリクエストを含むすべての要求をすべきです。

+0

ありがとうございました。しかし、私はその特定のPOSTだけをすべてのサーバーに送りたいと思っています...他の要求は、1つのバックエンドサーバーによって提供されるべきです。上記の設定はそのように機能しますか? – RDR

0

私はあなたがやりたいのソリューションを使用する準備ができてについて認識していませんよ。

CまたはLuaのような動作を実装するdefinetelyことが可能です。

あなたはnginxののCモジュールを開発することがありますが、深刻な学習曲線を持つことは簡単ではない作業。

あなたはhttps://github.com/openresty/lua-nginx-moduleを使用してhttps://github.com/openresty/lua-nginx-module#ngxlocationcapture_multiのようなものを使用することができます。

しかし、あなたが戻って送信されます際に、どの応答の両方のケースでは、あなたがロジックのいくつかの種類を実装する必要があり

質問について - バックエンドのいずれかがタイムアウトになるか、エラーで応答すると200 OKで応答する必要がありますか?

関連する問題