Introducción
APERTURE quiere incluir una nueva audioguía con la entrada. Una pequeña parte de los visitantes sintéticos probará cada versión antes de ofrecerla a todos. Configurarás rutas reales de Nginx, compararás precios por versión, retirarás una vista previa incorrecta y promoverás una correcta.
Basta con conocimientos básicos de terminal; aquí se presentan HTTP y la configuración del proxy. Workstation contiene las herramientas preparadas y Gallery es el sitio para visitantes. Todos los servicios comparten un host. Son solicitudes de práctica, sin pagos ni visitantes reales. Decidirás durante un despliegue parcial: no es una barrera de pruebas previa ni una promesa de disponibilidad ininterrumpida. La documentación está traducida; el sitio y las etiquetas reales siguen en inglés.
Enviar una pequeña parte a una vista previa
En este paso, empieza en Gallery. Abre Explore the exhibition y después Choose tickets. El grupo normal son dos adultos y dos niños. Selecciona Calculate price: £48 es correcto porque cada adulto cuesta £18 y cada niño £6. La nueva audioguía no debe añadir cargos. Abre Visit, descarga la guía y vuelve al inicio con APERTURE.
Cambia a Workstation. pwd muestra tu directorio; cat muestra los archivos proporcionados:
pwd
/home/labex/project/exhibit
cat price-sheet.txt
Una solicitud HTTP pide una URL a un servidor; la respuesta contiene un estado y contenido. 200 indica que la solicitud tuvo éxito, no que el precio sea correcto. Un proxy recibe la solicitud pública y la envía a un upstream, una de nuestras tres versiones. 127.0.0.1 significa este host; el puerto identifica un servicio. Los visitantes usan Nginx en 8081; 9001, 9002 y 9003 corresponden a classic, preview-a y preview-b.
Edita solamente upstream.conf. Cada línea server de Nginx identifica un upstream. weight=4 frente a weight=1 concede a la vista previa aproximadamente una quinta parte de las solicitudes, sin garantizar una proporción de personas. El punto y coma termina una directiva. Este here-document sustituye el archivo; NGINX entre comillas conserva el texto literal. Pega hasta la última línea NGINX:
cat > upstream.conf <<'NGINX'
server 127.0.0.1:9001 weight=4;
server 127.0.0.1:9002 weight=1;
NGINX
El asistente proporcionado valida las líneas, las copia a la configuración nativa de Nginx y la recarga. sudo le permite modificar este servicio. No juzga precios ni elige versiones:
sudo python3 /opt/labex/exhibit/route.py
Espera Applied native Nginx upstream: y tus dos líneas. Si se rechaza la sintaxis, sigue activa la ruta anterior: corrige el archivo y aplícalo otra vez.
python3 ejecuta el cliente preparado. sample envía 80 solicitudes independientes por 8081, sin reintentos, y muestra los precios observados por versión:
python3 traffic.py sample
Busca classic y preview-a, con al menos cinco respuestas de cada uno. Las cantidades pueden variar; repite si alguna muestra es demasiado pequeña. Cada ejecución tiene un nuevo ID de ventana; nunca combines ventanas de distintas rutas. Los errores HTTP quedan visibles. Si aparecen, reaplica la ruta guardada y mide una ventana nueva; una ventana incompleta no es evidencia. Ahora una minoría recibe la vista previa; el siguiente paso utiliza sus resultados de negocio para decidir.
Detener la prueba del precio incorrecto
En este paso, permanece en Workstation y lee la muestra anterior. classic devuelve [48]; preview-a devuelve [60] y un recuento Wrong price distinto de cero. Ambos tuvieron éxito HTTP. Comparar solo su media combinada ocultaría qué visitantes pagaron de más. Prices GBP enumera todos los totales distintos observados para cada versión.
La regla comercial es £48 sin recargo por la guía. Detén este candidato. Sustituye la lista de upstreams por una línea para seleccionar solo classic, aplícala y mide una ventana nueva:
cat > upstream.conf <<'NGINX'
server 127.0.0.1:9001 weight=1;
NGINX
sudo python3 /opt/labex/exhibit/route.py
python3 traffic.py sample
Espera solo classic, 80 respuestas, [48], ningún precio incorrecto y ningún error. Guardar el archivo no cambia el tráfico. Una ventana nueva tras aplicar demuestra que la versión anterior vuelve a atender solicitudes.
Cambia a Gallery, abre Tickets y calcula el precio del grupo: £48. Durante una prueba mixta, recargar puede elegir otra versión en cada solicitud; aquí no hay sesiones de visitante persistentes. El proxy desactiva los reintentos upstream y cierra conexiones; no sustituye silenciosamente una respuesta fallida por una correcta de classic. Los sistemas reales necesitan políticas explícitas de sesiones y reintentos.
Vuelve a Workstation. La prueba incorrecta terminó, pero mantener classic para siempre no entregaría la nueva guía. Evalúa ahora la otra vista previa.
Promover la vista previa correcta
En este paso, empieza en Workstation. Dale a preview-b la misma exposición limitada antes de considerar su promoción:
cat > upstream.conf <<'NGINX'
server 127.0.0.1:9001 weight=4;
server 127.0.0.1:9003 weight=1;
NGINX
sudo python3 /opt/labex/exhibit/route.py
python3 traffic.py sample
Ambas versiones deben tener al menos cinco respuestas y mostrar [48], sin precios incorrectos ni errores. Esta prueba limitada permite continuar; no demuestra que todas las cargas reales sean seguras. También importan el sitio, la guía y otros grupos de visitantes.
Promueve la vista previa correcta convirtiéndola en el único upstream; aplica y vuelve a medir:
cat > upstream.conf <<'NGINX'
server 127.0.0.1:9003 weight=1;
NGINX
sudo python3 /opt/labex/exhibit/route.py
python3 traffic.py sample
Espera solo preview-b, 80 respuestas y [48]. Si usaste un puerto equivocado, restaura la configuración mixta anterior, aplícala y repite la comparación antes de promover la correcta. No alteres precios ni programas para fabricar un éxito.
Cambia a Gallery y vuelve al inicio. Sigue Explore the exhibition: ahora describe la audioguía incluida. Abre Choose tickets, calcula £48 para dos adultos/dos niños y luego £18 para un adulto/cero niños. Abre Visit y descarga su guía real. La experiencia completa debe sobrevivir a la promoción; una etiqueta de versión o una marca verde no basta. La evaluación lee solicitudes existentes y precios reales; nunca cambia rutas por ti.

Resumen
Usaste rutas ponderadas reales para exponer una minoría de solicitudes, separaste precios por versión, detuviste una prueba incorrecta y promoviste una vista previa correcta. Las ventanas independientes y los fallos visibles vincularon la decisión al tráfico real. Las muestras pequeñas justifican la decisión de este ejercicio, sin demostrar fiabilidad de producción ni ausencia de interrupciones.


