LoginSignup
43
47

More than 5 years have passed since last update.

Nginxのロードバランサー機能覚書

Last updated at Posted at 2014-08-09

Nginxでロードバランサーの機能を使う上で必要な設定を確認しました。

sticky sessionでサーバーを振り分ける

リクエストのcookieを見て、どのサーバーに割り振るか決定するパターンです。
サードパーティー製のモジュールが必要なのでビルド必須です。
https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/overview

upstream app_server {
      sticky;
      app1 192.168.0.1:8080;
      app2 192.168.0.2:8080;
      app3 192.168.0.3:8080;
}

IP hashingでサーバーを振り分ける

リクエストを送ってきたクライアントのipでどのサーバーに振り分けるか決定するパターンです。

upstream app_server {
      ip_hash;
      app1 192.168.0.1:8080;
      app2 192.168.0.2:8080;
      app3 192.168.0.3:8080;
}

接続数がもっとも少ないサーバーに振り分けるようにする

すべてのサーバーの接続数が均等になるように振り分けるパターンです。

upstream app_server {
      least_conn;
      app1 192.168.0.1:8080;
      app2 192.168.0.2:8080;
      app3 192.168.0.3:8080;
}

サーバーの振り分けに重みをつける

特定のサーバーに対して多めにリクエストを割り振りたいパターンです。
以下の例だとapp1:app2:app3 = 3:1:1になります。

upstream app_server {
      app1 192.168.0.1:8080 weight=3;
      app2 192.168.0.2:8080;
      app3 192.168.0.3:8080;
}

参考:
nginxをロードバランサとして使うときのTips

43
47
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
47