Split Clients#
Модуль генерирует переменные для A/B-тестирования, канареечных релизов
и других сценариев, которые направляют определенный процент клиентов на один
сервер или конфигурацию, а остальных — куда-то еще. Создает $переменную, хэшируя строку;
переменные в строке подставляются,
результат хэшируется,
затем по значению хэша выбирается строковое значение $переменной. Функция хэширования использует
MurmurHash2
(32 бит),
и весь диапазон ее значений
(с 0 по 4294967295)
сопоставляется с корзинами в порядке появления;
процентные величины определяют размер корзин.
В конце может стоять метасимвол ( Пример: Здесь после подстановки в строке значения от 0 до 21474835 (0,5%) дают значения от 21474836 до 107374180 (2%) дают значения от 107374181 до 4294967295 (все остальные) дают Пример конфигурации#
http {
split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
server {
location / {
index index${variant}.html;
Директивы#
split_clients#
*
);
хэши, не попавшие в другие корзины, сопоставляются с приданным ему значением.split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
$remote_addrAAA
значения хэша распределяются следующим образом:.one
;.two
;""
(пустую строку).