Testar duas prévias de preços da galeria

ShellBeginner
Pratique Agora

Introdução

A APERTURE quer incluir um novo audioguia no ingresso. Uma pequena parte dos visitantes sintéticos experimentará cada prévia antes de oferecê-la a todos. Você configurará rotas reais do Nginx, comparará preços por versão, interromperá uma prévia incorreta e promoverá a correta.

Basta familiaridade básica com o terminal; HTTP e configuração de proxy são apresentados aqui. Workstation contém as ferramentas preparadas e Gallery é o site dos visitantes. Todos os serviços compartilham um host. São requisições de treinamento, sem pagamentos ou visitantes reais. A decisão acontece durante uma implantação parcial, não em uma barreira de testes anterior, e não promete ausência de interrupções. A documentação é traduzida; o site e os rótulos reais permanecem em inglês.

Enviar uma pequena parcela para uma prévia

Nesta etapa, comece em Gallery. Abra Explore the exhibition e depois Choose tickets. O grupo normal tem dois adultos e duas crianças. Selecione Calculate price: £48 está correto, pois cada adulto custa £18 e cada criança £6. O novo audioguia não deve acrescentar cobrança. Abra Visit, baixe o guia e volte ao início com APERTURE.

Mude para Workstation. pwd mostra o diretório atual; cat mostra os arquivos fornecidos:

pwd
/home/labex/project/exhibit
cat price-sheet.txt

Uma requisição HTTP solicita uma URL ao servidor; a resposta contém status e conteúdo. 200 significa sucesso da requisição, não preço correto. Um proxy recebe a requisição pública e a encaminha para um upstream, uma de nossas três versões. 127.0.0.1 significa este host; a porta identifica um serviço. Visitantes usam Nginx em 8081; 9001, 9002 e 9003 correspondem a classic, preview-a e preview-b.

Edite apenas upstream.conf. Cada linha Nginx server identifica um upstream. weight=4 contra weight=1 concede à prévia aproximadamente um quinto das requisições, sem garantir essa proporção de pessoas. O ponto e vírgula encerra uma diretiva. Este here-document substitui o arquivo; NGINX entre aspas preserva o texto literal. Cole até a última linha NGINX:

cat > upstream.conf <<'NGINX'
server 127.0.0.1:9001 weight=4;
server 127.0.0.1:9002 weight=1;
NGINX

O assistente fornecido valida as linhas, copia-as para a configuração nativa do Nginx e a recarrega. sudo permite alterar este serviço. Ele não avalia preços nem escolhe versões:

sudo python3 /opt/labex/exhibit/route.py

Espere Applied native Nginx upstream: e suas duas linhas. A rejeição de sintaxe mantém a rota anterior ativa: corrija o arquivo e aplique novamente.

python3 executa o cliente preparado. sample envia 80 requisições independentes pela porta 8081, sem novas tentativas, e mostra os preços observados por versão:

python3 traffic.py sample

Procure classic e preview-a, com pelo menos cinco respostas de cada. As contagens variam; repita se uma amostra for pequena demais. Cada execução possui um novo ID de janela; nunca misture janelas de configurações distintas. Erros HTTP continuam visíveis. Se ocorrerem, reaplique a rota salva e meça uma janela nova; uma janela incompleta não é evidência. Agora uma minoria recebe a prévia; a próxima etapa usa seus resultados comerciais para decidir.

Interromper o teste do preço incorreto

Nesta etapa, permaneça em Workstation e leia a amostra anterior. classic retorna [48]; preview-a retorna [60] e uma contagem Wrong price diferente de zero. Ambos tiveram sucesso HTTP. Comparar apenas a média conjunta esconderia quais visitantes pagaram a mais. Prices GBP lista todos os totais distintos observados por versão.

A regra comercial é £48 sem acréscimo pelo guia. Interrompa esse candidato. Substitua a lista de upstreams por uma linha para selecionar somente classic, aplique e meça uma janela nova:

cat > upstream.conf <<'NGINX'
server 127.0.0.1:9001 weight=1;
NGINX
sudo python3 /opt/labex/exhibit/route.py
python3 traffic.py sample

Espere apenas classic, 80 respostas, [48], nenhum preço incorreto e nenhum erro. Salvar o arquivo sozinho não altera o tráfego. Uma janela nova após aplicar comprova que a versão antiga realmente voltou a atender requisições.

Mude para Gallery, abra Tickets e calcule o preço do grupo: £48. Durante um teste misto, cada requisição ao atualizar pode selecionar outra versão; este exercício não fixa visitantes a sessões. O proxy desativa novas tentativas de upstream e fecha conexões; não substitui silenciosamente uma resposta com falha por uma correta de classic. Sistemas reais precisam de políticas explícitas de sessões e tentativas.

Volte para Workstation. O teste incorreto parou, mas manter classic para sempre não entregaria o novo guia. Avalie agora a outra prévia.

Promover a prévia correta do guia

Nesta etapa, comece em Workstation. Dê a preview-b a mesma exposição limitada antes de considerar a promoção:

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 as versões devem ter pelo menos cinco respostas e mostrar [48], sem preços incorretos ou erros. Esse teste limitado permite continuar; não prova a segurança de toda carga real. O site, o guia e outros grupos de visitantes também importam.

Promova a prévia correta tornando-a o único upstream, aplique e meça novamente:

cat > upstream.conf <<'NGINX'
server 127.0.0.1:9003 weight=1;
NGINX
sudo python3 /opt/labex/exhibit/route.py
python3 traffic.py sample

Espere apenas preview-b, 80 respostas e [48]. Se usou a porta errada, restaure a configuração mista anterior, aplique e repita a comparação antes de promover a versão correta. Não altere preços nem programas fornecidos para fabricar sucesso.

Mude para Gallery e volte ao início. Abra Explore the exhibition: agora ela descreve o audioguia incluído. Em Choose tickets, calcule £48 para dois adultos/duas crianças e depois £18 para um adulto/nenhuma criança. Abra Visit e baixe seu guia real. A experiência completa deve sobreviver à promoção; um rótulo de versão ou marca verde não basta. A avaliação lê requisições existentes e preços reais, sem alterar suas rotas.

A prévia promovida mantém o preço familiar de £48

Resumo

Você usou roteamento ponderado real para expor uma minoria de requisições, separou preços por versão, interrompeu um teste incorreto e promoveu uma prévia correta. Janelas independentes e falhas visíveis ligaram a decisão ao tráfego real. Pequenas amostras de treinamento sustentam a decisão deste exercício, sem provar confiabilidade em produção ou ausência de interrupções.