Split Clients#
El módulo genera variables para pruebas A/B, despliegues canarios
y otros escenarios que dirigen un porcentaje específico de clientes a un
servidor o configuración mientras que el resto se dirige a otro lugar. Crea una $variable aplicando un hash a la string;
las variables en la string se sustituyen,
el resultado se somete a hash
y el valor del hash se usa para seleccionar el valor de la cadena asignado a la $variable. La función de hash utiliza
MurmurHash2
(32 bits),
y todo su rango de valores
(0 a 4294967295)
se asigna a grupos en orden de aparición;
los porcentajes determinan el tamaño de los grupos.
Un comodín ( Ejemplo: Aquí, tras la sustitución en la cadena valores de 0 a 21474835 (0,5%) producen valores de 21474836 a 107374180 (2%) producen valores de 107374181 a 4294967295 (todos los demás) producen Ejemplo de configuración#
stream {
# ...
split_clients "${remote_addr}AAA" $upstream {
0.5% feature_test1;
2.0% feature_test2;
* production;
}
server {
# ...
proxy_pass $upstream;
}
}
Directivas#
split_clients#
*
) puede aparecer al final;
los hashes que no caigan en otros grupos se asignan a su valor correspondiente.split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
$remote_addrAAA
,
los valores de hash se distribuyen de la siguiente manera:.one
.two
""
(una cadena vacía)