Split Clients#
El módulo genera variables para pruebas A/B, lanzamientos canary y otros escenarios
que dirigen un cierto porcentaje de clientes a un servidor o configuración
mientras enrutan el resto a otro lugar. Crea una $variable mediante el hash de la string;
las variables en la string se sustituyen,
el resultado se somete a hash,
luego el valor hash se utiliza para seleccionar el valor de cadena de la $variable. La función de hash utiliza
MurmurHash2
(32 bits),
y todo su rango de valores
(0 a 4294967295)
se asigna a cubetas en orden de aparición;
los porcentajes determinan el tamaño de las cubetas.
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#
http {
split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
server {
location / {
index index${variant}.html;
Directivas#
split_clients#
*
) puede aparecer al final;
los valores hash que no caen en otras cubetas se asignan a su valor correspondiente.split_clients "${remote_addr}AAA" $variant {
0.5% .one;
2.0% .two;
* "";
}
$remote_addrAAA
,
los valores hash se distribuyen de la siguiente manera:.one
;.two
;""
(cadena vacía).