Zwei Preisvorschauen der Galerie testen

ShellBeginner
Jetzt üben

Einführung

APERTURE möchte einen neuen Audioguide im Eintrittspreis einschließen. Ein kleiner Teil synthetischer Besucher testet jede Vorschau, bevor alle sie erhalten. Du konfigurierst echte Nginx-Routen, vergleichst Preise nach Version, stoppst eine falsche Vorschau und gibst die richtige für alle frei.

Grundkenntnisse im Terminal genügen; HTTP und Proxy-Konfiguration werden hier eingeführt. Workstation enthält vorbereitete Werkzeuge; Gallery ist die Besucherwebsite. Alle Dienste laufen auf einem Host. Es sind Übungsanfragen ohne Zahlungen oder echte Besucher. Die Entscheidung fällt während einer teilweisen Einführung, nicht bei einer Testsperre vor der Veröffentlichung. Unterbrechungsfreiheit wird nicht versprochen. Die Dokumentation ist übersetzt; Website und tatsächliche Oberflächenbezeichnungen bleiben englisch.

Einen kleinen Anteil an eine Vorschau senden

Beginne diesen Schritt in Gallery. Öffne Explore the exhibition, dann Choose tickets. Die normale Gruppe besteht aus zwei Erwachsenen und zwei Kindern. Wähle Calculate price: £48 ist richtig, denn Erwachsene kosten £18 und Kinder £6. Der neue Audioguide darf keinen Aufpreis verursachen. Öffne Visit, lade den Besuchsführer herunter und gehe über APERTURE zur Startseite.

Wechsle zu Workstation. pwd zeigt dein Verzeichnis; cat zeigt die bereitgestellten Dateien:

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

Eine HTTP-Anfrage fordert eine URL vom Server an; die Antwort enthält Status und Inhalt. 200 bedeutet erfolgreiche Anfrage, nicht korrekter Preis. Ein Proxy nimmt die öffentliche Anfrage an und leitet sie an einen Upstream, eine unserer drei Anwendungsversionen, weiter. 127.0.0.1 bezeichnet diesen Host; der Port kennzeichnet einen Dienst. Besucher verwenden Nginx auf 8081; 9001, 9002, 9003 stehen für classic, preview-a, preview-b.

Bearbeite nur upstream.conf. Jede Nginx-Zeile mit server nennt einen Upstream. weight=4 gegenüber weight=1 gibt der Vorschau ungefähr ein Fünftel der Anfragen, aber garantiert keinen entsprechenden Personenanteil. Das Semikolon beendet eine Anweisung. Das folgende Here-Dokument ersetzt die Datei; das zitierte NGINX erhält den Text wörtlich. Füge alles bis zur abschließenden Zeile NGINX ein:

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

Der bereitgestellte Helfer prüft diese Zeilen, kopiert sie in die native Nginx-Konfiguration und lädt sie neu. sudo erlaubt ihm, diesen Dienst zu ändern. Er bewertet keine Preise und wählt keine Version aus:

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

Erwarte Applied native Nginx upstream: und deine zwei Zeilen. Bei abgelehnter Syntax bleibt die vorherige Route aktiv: Korrigiere die Datei und wende sie erneut an.

python3 startet den vorbereiteten Client. sample sendet 80 unabhängige Anfragen durch 8081, ohne Wiederholungsversuche, und zeigt beobachtete Preise nach Version:

python3 traffic.py sample

Suche classic und preview-a, jeweils mit mindestens fünf Antworten. Die Anzahl kann variieren; wiederhole bei zu kleiner Stichprobe. Jeder Lauf hat eine neue Fenster-ID; vermische niemals Fenster verschiedener Routingstände. HTTP-Fehler bleiben sichtbar. Wende bei Fehlern die gespeicherte Route erneut an und miss ein frisches Fenster; ein unvollständiges Fenster ist kein Beleg. Jetzt erhält eine Minderheit die Vorschau. Im nächsten Schritt entscheidest du anhand der Geschäftsergebnisse.

Den Versuch mit falschem Preis stoppen

Bleibe in diesem Schritt in Workstation und lies die vorherige Stichprobe. classic liefert [48]; preview-a liefert [60] und einen Wrong price-Wert größer null. Beide HTTP-Anfragen waren erfolgreich. Ein gemeinsamer Durchschnitt würde verbergen, welche Besucher zu viel bezahlen. Prices GBP listet alle unterschiedlichen Gesamtpreise jeder Version auf.

Die Geschäftsregel verlangt £48 ohne Guide-Aufpreis. Stoppe diesen Kandidaten. Ersetze die Upstream-Liste durch eine Zeile, um nur classic auszuwählen, wende sie an und miss ein neues Fenster:

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

Erwarte nur classic, 80 Antworten, [48], keine falschen Preise und keine Fehler. Das Speichern einer Datei allein schaltet keinen Verkehr um. Ein neues Fenster nach dem Anwenden beweist, dass die alte Version tatsächlich wieder Anfragen bedient.

Wechsle zu Gallery, öffne Tickets und berechne den Gruppenpreis: £48. Beim gemischten Versuch kann jede Anfrage eine andere Version wählen; diese Übung hat keine an Besucher gebundenen Sitzungen. Der Proxy deaktiviert Upstream-Wiederholungen und schließt Verbindungen. Er ersetzt eine fehlgeschlagene Vorschauantwort nicht still durch eine erfolgreiche classic-Antwort. Reale Systeme benötigen bewusst gewählte Sitzungs- und Wiederholungsregeln.

Kehre zu Workstation zurück. Der falsche Versuch ist gestoppt, doch classic dauerhaft zu behalten würde den neuen Guide nicht ausliefern. Bewerte nun die andere Vorschau.

Die richtige Guide-Vorschau freigeben

Beginne diesen Schritt in Workstation. Gib preview-b dieselbe begrenzte Reichweite, bevor du eine vollständige Freigabe erwägst:

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

Beide Versionen müssen jeweils mindestens fünf Antworten und [48] zeigen, ohne falsche Preise oder Fehler. Dieser begrenzte Versuch stützt die Fortsetzung; er beweist nicht die Sicherheit aller realen Lasten. Website, Guide und andere Besuchergruppen sind ebenfalls wichtig.

Mache die richtige Vorschau zum einzigen Upstream, wende die Konfiguration an und miss erneut:

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

Erwarte nur preview-b, 80 Antworten und [48]. Bei falschem Port stelle die vorherige gemischte Konfiguration wieder her, wende sie an und vergleiche erneut, bevor du die richtige Version freigibst. Verändere weder Preise noch bereitgestellte Programme, um Erfolg vorzutäuschen.

Wechsle zu Gallery und zur Startseite. Öffne Explore the exhibition: Dort wird jetzt der enthaltene Audioguide beschrieben. Öffne Choose tickets, berechne £48 für zwei Erwachsene/zwei Kinder und danach £18 für einen Erwachsenen/kein Kind. Öffne Visit und lade den echten Guide herunter. Die gesamte Besuchererfahrung muss erhalten bleiben; Versionsschild oder grünes Häkchen genügen nicht. Die Bewertung liest vorhandene Anfragebelege und echte Preise; sie ändert niemals deine Routen.

Die freigegebene Vorschau behält den Familienpreis von £48

Zusammenfassung

Du hast mit echtem gewichtetem Routing eine Minderheit der Anfragen zur Vorschau geschickt, Geschäftspreise nach Version getrennt, einen falschen Versuch gestoppt und eine richtige Vorschau freigegeben. Unabhängige Fenster und sichtbare Fehler verbanden die Entscheidung mit echtem Verkehr. Kleine Übungsstichproben stützen diese Entscheidung, beweisen aber weder Produktionszuverlässigkeit noch Unterbrechungsfreiheit.