ngx_stream_split_clients_module モジュール

設定の例
ディレクティブ
     split_clients

ngx_stream_split_clients_module モジュール(1.11.3)は、A/Bテスト(別名スプリットテスト)に適した変数を作成します

設定の例

stream {
    ...
    split_clients "${remote_addr}AAA" $upstream {
                  0.5%                feature_test1;
                  2.0%                feature_test2;
                  *                   production;
    }

    server {
        ...
        proxy_pass $upstream;
    }
}

ディレクティブ

構文 split_clients 文字列 $変数 { ... }
デフォルト
コンテキスト ストリーム

A/Bテスト用の変数を作成します。

split_clients "${remote_addr}AAA" $variant {
               0.5%               .one;
               2.0%               .two;
               *                  "";
}

元の文字列の値は MurmurHash2 を使用してハッシュ化されます。提供された例では、0 ~ 21474835(0.5%)のハッシュ値は $variant 変数の値 ".one" に対応し、21474836 ~ 107374180(2%)のハッシュ値は値 ".two" に対応し、107374181 ~ 4294967295 のハッシュ値は値 ""(空の文字列)に対応します。