模块 ngx_stream_splitclients_module

ngx_stream_split_clients_module模块(1.11.3)创建适合 A/B 测试的变量,也称为拆分测试。

Example Configuration

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

    server {
        ...
        proxy_pass $upstream;
    }
}

指令

句法:split_clients string $variable { ... }
默认:
Context:stream

为_1 示例创建 A/B 测试的变量:

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

使用 MurmurHash2 对原始 string 的 value 进行哈希处理。在给定的 example 中,从 0 到 21474835(0.5%)的哈希值对应于$variant变量的 value ".one",从 21474836 到 107374180(2%)的哈希值对应于 value ".two",并且从 107374181 到 4294967295 的哈希值对应于 value ""(空 string)。

Updated at: 7 months ago
ngx_streamreturn_moduleTable of contentngx_stream_ssl_module