应用场景: 版本上线, 部分人使用A版, 部分人使用B版
- 前置条件: nginx 需要安装
ngx_http_split_clients_module
模块, 借助这个模块的split_clients
指令完成分流, 示例配置如:1
2
3
4
5
6
7
8
9
10
11
12http {
split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
server {
location / {
index index${variant}.html;
}
} - 以上的配置会将原始 ip 加上AAA 使用
MurmurHash2
运算, 在此示例中, 如果哈希值从 0 到 21474835 (0.5%) 对应于变量 $variant 的.one
值, 哈希值在 21474836 到 107374180(2%)对应于值 “.two”, 哈希值从 107374181 到 4294967295 对应于值””(一个空字符串)。就这么简单就实现了分流到不同的页面,之后可以统计这个不同页面的使用量。 - 参考文档: https://cloud.tencent.com/developer/section/1259388