Hier stellst du die Sendungsverfolgung hinter den Verteiler, rechnest die Morgenspitze durch und zeigst im Labor, dass sie den Ausfall eines Servers übersteht.
Sprint 3Brückenstufe 2
Eure Story: Als IT-Leitung HLG will ich wissen, welche Dienste wir selbst betreiben und welche wir einkaufen, damit Web, Mail und Telefonie in der Morgenspitze tragen.
Input · Web-Dienste und Lastverteilung. Holt ihn euch, wenn eure Storycard danach fragt. Zahlt ein auf AB 1, 2, 5, 6 und 7.
Du rechnest Last und Antwortzeit, vergleichst die Verfahren des Verteilers, richtest zwei Container hinter einem Verteiler ein und entscheidest, wie viele Server HLG braucht.
0 von 7 AB abgehakt AB-Liste öffnen
Der wichtigste Satz auf dieser Seite: Ein Server ist bei 125 % Last nicht etwas langsamer, sondern hoffnungslos: Die Schlange wächst jede Sekunde. Der Verteiler hilft nur, wenn hinter ihm genug Kapazität steht, auch dann, wenn ein Server ausfällt.
Am Ende hast du: die Sendungsverfolgung track.hlg.example im Labor erreichbar, auf zwei Servern verteilt, mit einem Health Check, der einen Ausfall erkennt, und eine gerechnete Begründung, wie viele Server HLG für die Randzeiten braucht.
Karte „Adressen und Routing kompakt“: Was du aus dem Netzaufbau brauchst, auf einer Seite: Adressen, Subnetze, Routing, die drei Standorte. Die Karte steht im Wissensspeicher.
Erst du, dann die anderen
Die IT-Leitung fragt: „Die Sendungsverfolgung soll um halb sechs nicht in die Knie gehen. Was macht ihr?“ Wie würdest du vorgehen?
So gehen andere vor. Such dir einen Weg aus.
- Einen größeren Server kaufen. Ein Server mit mehr Kapazität trägt die Spitze allein. Das ist einfach zu betreiben, keine Verteilung, keine Sitzungsfragen. Fällt er aus, ist die Sendungsverfolgung aber ganz weg, und Wartung geht nur mit Unterbrechung.
- Mehrere Server hinter einen Verteiler stellen. Die Last teilt sich, ein Server kann ausfallen oder gewartet werden, ohne dass Kunden es merken. Das kostet einen Verteiler, mehr Geräte und Wissen über Verfahren und Health Checks.
- Antworten zwischenspeichern. Viele Kunden fragen dieselbe Sendung mehrmals ab. Ein Zwischenspeicher am Verteiler beantwortet Wiederholungen, ohne die Server zu fragen. Das ist billig, aber der Status ist dann bis zu einigen Sekunden alt, und die Internetleitung entlastet es nicht.
Es gibt hier nicht den einen richtigen Weg. Entscheide dich für einen und schreib dazu, weshalb. In Aufgabe 5.7 kommst du darauf zurück.
Gegebene Werte: Sendungsverfolgung in der Morgenspitze · aufklappen, wenn du sie brauchst
Gegebene Werte: Sendungsverfolgung in der Morgenspitze
- Last
- 3.000 Abfragen je Minute zwischen 5 und 6 Uhr, abends zwischen 22 und 23 Uhr ähnlich
- Antwortgröße
- 200 kB je Abfrage (Statusseite mit Karte und Sendungsbild)
- Kapazität web1, web2
- je μ = 40 Abfragen je s (Unterrichtswert, im Betrieb per Lasttest zu messen)
- Variante
- web2 ist ein älteres Gerät mit μ = 25 Abfragen je s (nur Aufgabe 5.4)
- Antwortzeit-Modell
- T = 1 / (μ minus λ) für λ kleiner μ, je Server gerechnet (vereinfachtes Warteschlangenmodell)
- Ziel der IT-Leitung
- Antwortzeit am Server unter 200 ms, auch wenn ein Server ausfällt
- Health Check
- Abfrage von /health alle 5 s, Ausfall nach 3 Fehlversuchen, Wiederaufnahme nach 2 Erfolgen
- Wiederholungen
- 40 % der Abfragen in der Spitze fragen dieselbe Seite innerhalb von 30 s erneut ab (Unterrichtswert)
- Adressen
- öffentlich 203.0.113.3, Verteiler 172.16.10.10, web1 172.16.10.11, web2 172.16.10.12, Datenbank 10.10.40.30
Das Modell T = 1 / (μ minus λ) nimmt zufällig eintreffende Anfragen und zufällig lange Bearbeitung an. Echte Server verhalten sich anders, die Richtung stimmt aber: Nahe an 100 % Last steigt die Wartezeit steil.
Dein Lernprodukt im Einzelnen
Dein Lernprodukt
Lastkonzept Sendungsverfolgung mit Testprotokoll
Darauf laufen die Aufgaben dieses Lernangebots zu. Die Aufgaben sind die Stufen dorthin, das Lernprodukt ist das Ergebnis.
Es besteht aus
- der Rechnung Morgenspitze: Last, Datenrate, Auslastung, Antwortzeit für einen, zwei und drei Server
- dem gewählten Verfahren mit Begründung, auch für ungleich starke Server
- dem Health Check mit Intervall und Schwellen und der Zahl der Fehlanfragen bis zur Erkennung
- dem Laboraufbau mit Konfigurationsdatei und Oberfläche und dem Testprotokoll (Verteilung, Ausfall, Wiederaufnahme)
- deiner Entscheidung, wie viele Server HLG betreibt und ob ein Zwischenspeicher dazukommt
Zur Dokumentation
Zwei Seiten: oben die Rechnung als Tabelle mit Rechenweg, darunter der Aufbau als Skizze mit Adressen, dann das Testprotokoll mit Uhrzeit, Aktion und Beobachtung. Jede Zahl hat ihre Herkunft: gegeben, gerechnet oder gemessen.
Das Lastkonzept geht in das Dienstekonzept und in Meilenstein M2 ein. Die Entscheidung lokal oder eingekauft für die Sendungsverfolgung trefft ihr in Lernangebot 7.
Die Szene: Morgenspitze mit Verteiler
Jetzt mit Zahlen: Stell die Zahl der Server, das Verfahren und den Zwischenspeicher ein und schalte einen Server ab. Die Szene zeigt die Schlange vor jedem Server und die Antwortzeit. Vergleiche mit deinen Rechnungen aus 5.2 bis 5.5.
Die Szene lädt. Ohne JavaScript rechnest du die Fälle mit der Formel aus den gegebenen Werten und trägst sie in die Tabelle von Aufgabe 5.3 ein.
Deine Aufgaben
5.1Zeichne den Weg einer Abfrage nach
Jetzt bist du dran · Allein · 4 Arbeitsschritte
zahlt ein auf AB 1Öffnen ▾Schließen ▴
Aufgabe 5.1
Zeichne den Weg einer Abfrage nach:
- Zeichne den Weg vom Browser eines Kunden bis zur Sendungsdatenbank und zurück.
- Beschrifte jede Station mit Adresse und Port vor und nach der Firewall.
- Markiere, welche Stationen von außen erreichbar sind und welche nie.
- Ordne jeder Station die Zeile in eurer Übersetzungstabelle aus Teil 2 zu.
Allein Diese Aufgabe bearbeitest du allein.
5.2Berechne die Last in der Morgenspitze
Jetzt bist du dran · Allein · 4 Arbeitsschritte
zahlt ein auf AB 2Öffnen ▾Schließen ▴
Aufgabe 5.2
Berechne die Last in der Morgenspitze:
- Berechne die Abfragen je Sekunde aus 3.000 je Minute.
- Berechne die Datenrate der Antworten in Mbit/s.
- Vergleiche die Datenrate mit der Glasfaser des Hub und dem Bedarf aus Teil 1.
- Berechne die Auslastung ρ für einen und für zwei Server.
Allein Diese Aufgabe bearbeitest du allein.
5.3Berechne die Antwortzeit
Jetzt seid ihr dran · Zu zweit · 4 Arbeitsschritte
zahlt ein auf AB 2Öffnen ▾Schließen ▴
Aufgabe 5.3
| Fall | Last je Server λ | Auslastung ρ | Antwortzeit T |
|---|---|---|---|
| Leerlauf, ein Server | fast 0 | fast 0 | 1/μ = 25 ms |
| ein Server, Morgenspitze | ? | ? | ? |
| zwei Server, Round Robin | ? | ? | ? |
| drei Server, Round Robin | ? | ? | ? |
Berechne die Antwortzeit:
- Übertrage die Tabelle unten und fülle sie mit T = 1 / (μ minus λ).
- Erkläre, was bei einem Server passiert, und berechne, um wie viele Abfragen die Schlange je Minute wächst.
- Berechne, wie lange der letzte Kunde nach einer Stunde Spitze mit einem Server warten würde.
- Vergleiche zwei und drei Server mit dem Ziel 200 ms.
Zu zweit Diese Aufgabe bearbeitet ihr zu zweit.
5.4Vergleiche die Verfahren bei ungleich starken Servern
Jetzt seid ihr dran · Zu zweit · 5 Arbeitsschritte
zahlt ein auf AB 2Öffnen ▾Schließen ▴
Aufgabe 5.4
Vergleiche die Verfahren bei ungleich starken Servern:
- Nimm an, web2 schafft nur μ = 25 Abfragen je s.
- Berechne Last und Auslastung je Server bei Round Robin.
- Berechne die Gewichte so, dass beide Server gleich ausgelastet sind, und die Antwortzeiten dazu.
- Erkläre, weshalb Least Connections hier fast dasselbe Ergebnis liefert wie die Gewichtung.
- Wähle ein Verfahren für HLG und begründe.
Zu zweit Diese Aufgabe bearbeitet ihr zu zweit.
5.5Berechne die Wirkung des Health Checks
Jetzt seid ihr dran · Zu zweit · 4 Arbeitsschritte
zahlt ein auf AB 2Öffnen ▾Schließen ▴
Aufgabe 5.5
Berechne die Wirkung des Health Checks:
- Berechne, wie lange es höchstens dauert, bis der Verteiler einen ausgefallenen web2 erkennt.
- Berechne, wie viele Abfragen in dieser Zeit ins Leere gehen.
- Vergleiche mit einem Intervall von 2 s.
- Beurteile, was nach der Erkennung mit web1 in der Morgenspitze passiert.
Zu zweit Diese Aufgabe bearbeitet ihr zu zweit.
5.6Richte den Verteiler im Labor ein
Jetzt seid ihr dran · Im Team · 6 Arbeitsschritte
zahlt ein auf AB 1 und 6Öffnen ▾Schließen ▴
Aufgabe 5.6
Richte den Verteiler im Labor ein:
- Starte zwei Webserver als Container, die jede Antwort mit ihrem Namen kennzeichnen.
- Richte den Verteiler einmal über eine Konfigurationsdatei ein (Vorlage unten).
- Richte ihn ein zweites Mal über eine Oberfläche ein, etwa in der Firewall-Distribution.
- Weise mit 20 Abfragen nach, dass beide Server antworten.
- Stoppe einen Container und protokolliere, nach wie vielen Sekunden keine Fehler mehr kommen.
- Starte ihn wieder und protokolliere die Wiederaufnahme.
Im Team Diese Aufgabe bearbeitet ihr im Team.
Laborvorschlag (90 Minuten): HAProxy oder nginx mit zwei Docker-Containern
Zwei Container mit nginx als web1 und web2, jeder liefert eine Seite mit seinem Namen und unter /health eine kurze Antwort. Davor HAProxy oder nginx als Verteiler. Im Labor genügt Port 80; die Verschlüsselung kommt in Teil 5. Als Oberfläche eignet sich die Lastverteiler-Erweiterung einer Firewall-Distribution wie OPNsense. Abfragen schickst du mit einer Schleife auf der Kommandozeile und zählst, welcher Name zurückkommt.
Vorlage HAProxy (Round Robin mit aktivem Health Check):
frontend track
bind 172.16.10.10:80
default_backend webfarm
backend webfarm
balance roundrobin
option httpchk GET /health
server web1 172.16.10.11:80 check inter 5s fall 3 rise 2
server web2 172.16.10.12:80 check inter 5s fall 3 rise 2
Vorlage nginx (Least Connections; die freie Fassung prüft nur passiv, also an echten Anfragen, die fehlschlagen):
upstream webfarm {
least_conn;
server 172.16.10.11:80 max_fails=3 fail_timeout=15s;
server 172.16.10.12:80 max_fails=3 fail_timeout=15s;
}
server {
listen 80;
server_name track.hlg.example;
location / { proxy_pass http://webfarm; }
}
5.7Entscheide, wie viele Server HLG betreibt
Jetzt seid ihr dran · Im Team · 4 Arbeitsschritte
zahlt ein auf AB 5 und 7Öffnen ▾Schließen ▴
Aufgabe 5.7
Entscheide, wie viele Server HLG betreibt:
- Prüfe, ob zwei Server das Ziel 200 ms auch dann halten, wenn einer ausfällt.
- Berechne die Antwortzeit für drei Server, wenn einer ausfällt.
- Berechne die Antwortzeit für zwei Server mit Zwischenspeicher, mit beiden und mit einem Server.
- Entscheide dich und nenne die Folge deiner Wahl für Kunden und Betrieb.
Im Team Diese Aufgabe bearbeitet ihr im Team.
Veränderter Fall
HLG verbietet jede Verarbeitung von Kundendaten außerhalb der EU. Ein Team hatte vorgeschlagen, die Morgenspitze über einen weltweiten Zwischenspeicher-Dienst abzufangen, dessen Standorte nicht festgelegt sind. Prüfe deine Lösung aus 5.7: Welche Teile verarbeiten Kundendaten, welche Lösung bleibt erlaubt, und was musst du am Zwischenspeicher festlegen?