配置段: http
作 用:定义了一组变量,通过使用变量来进行分流,从而让自配置的不同ip作为客户端, 访问被代理服务器
用 法:split_clients string $variable { ... }
中间string变量设置 (例:$remote_addr $remote_port $http_x_real_ip等
设置注意以下事项:
①:此处可以为 字符串,一个或者多个变量,变量与字符串的组合
②:该变量处不能为空,且变量数量不固定
③:变量取值需存在随机性(变量取值固定不变会导致作为客户端取IP地址,为同一IP地址)
$variable变量可自定义名称
在nginx中,split_clients执行过程如下:
①:对设定的变量获取到的值执行Murmurhash2算法得到32位整型哈希值,记为hash
②:32位无符号整型的最大数字2^32-1,记为max,也就是最大值
③:哈希数字与最大数字相除hash/max,可以得到百分比percent
④:配置指令中配置各个百分比范围对应的新变量值
⑤:当percent落在配置的范围里时,新变量值就对应赋值给$variable