ngx_stream_split_clients_module

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

示例配置

  1. stream {
  2. ...
  3. split_clients "${remote_addr}AAA" $upstream {
  4. 0.5% feature_test1;
  5. 2.0% feature_test2;
  6. * production;
  7. }
  8. server {
  9. ...
  10. proxy_pass $upstream;
  11. }
  12. }

指令

split_clients

- 说明
语法 split_clients string $variable { ... }
默认 ——
上下文 stream

为 A/B 测试创建一个变量,例如:

  1. split_clients "${remote_addr}AAA" $variant {
  2. 0.5% .one;
  3. 2.0% .two;
  4. * "";
  5. }

使用 MurmurHash2 对原始字符串的值进行哈希处理。在给出的例子中,从 0 到 21474835 (0.5%)的哈希值对应于 $variant 变量的值 .one,从 21474836 到 107374180 (2%)的哈希值对应于值 .two,哈希值从 107374181 到 4294967295 对应于值 ""(空字符串)。

原文档

http://nginx.org/en/docs/stream/ngx_stream_split_clients_module.html