nginx の 3つのロードバランス方法

● upstreamの設定

http {
    upstream api {
        server 192.168.10.1;
        server 192.168.10.2;
        server 192.168.10.3;
    }
}

● 1. ラウンドロビン(デフォルト)

リクエストを順番に各サーバーに分配します。

upstream myapp {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

● 2. 最少接続数 (Least Connections)

最少接続数は現在処理中の接続が最も少ないサーバーにリクエストを割り当てる方法です。

upstream myapp {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

● 3. IPハッシュ (IP Hash)

IPハッシュ方式は、クライアントのIPアドレスのハッシュ値を使用してリクエストを特定のサーバーに割り当てます。
これにより、同じクライアントからのリクエストが同じサーバーに継続して送られるため、
セッションの持続性が必要なアプリケーションに適しています。

upstream myapp {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}
No.2505
11/22 16:04

edit