Freitagabend, die Bestellungen kommen
Eine Bäckerei bietet eine Lieferung per App an. Freitagabend bestellen hundert Leute gleichzeitig. Die Seite wird langsam.
Ihre Teamleitung fragt: „Zeichnen Sie mir auf, wie das System aufgebaut ist.“ Es geht nicht um Code. Es geht um eine Skizze mit wenigen Kästchen und Pfeilen.
Am Ende dieser Lektion
Notiz
Ich kann skizzieren, wie die Teile einer einfachen Web-App zusammenpassen.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Client | das Gerät oder der Browser der nutzenden Person |
| Server | der Rechner mit dem Backend-Code |
| Datenbank | der Ort, an dem Daten dauerhaft liegen |
| Cache | ein schneller Zwischenspeicher für oft gelesene Daten |
| Warteschlange | eine Liste langsamer Aufträge für später |
| Worker | ein Programm, das Aufträge aus der Warteschlange abarbeitet |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Client, Server und Datenbank
Fast jede Web-App besteht aus drei Teilen. Der Client zeigt etwas an und nimmt Eingaben an. Der Server führt die Regeln aus. Die Datenbank bewahrt die Daten auf.
Der Client spricht hier nie direkt mit der Datenbank. Alles läuft über den Server.
Beispiel: eine Bestellung am Freitag
| Schritt | Teil | Was geschieht |
|---|---|---|
| 1 | Client | Die Kundin tippt auf „Bestellen“ |
| 2 | Server | Prüft die Bestellung und rechnet den Preis aus |
| 3 | Datenbank | Speichert die Bestellung |
| 4 | Warteschlange | Nimmt den Auftrag „Quittung per E-Mail“ an |
| 5 | Worker | Sendet die E-Mail, wenn Zeit ist |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Cache beschleunigt, eine Warteschlange entlastet
Die Speisekarte ändert sich selten, wird aber ständig gelesen. Ein Cache hält eine schnelle Kopie bereit. Die Datenbank wird entlastet.
Eine E-Mail zu senden dauert. Die Kundin soll nicht darauf warten. Der Server legt den Auftrag in eine Warteschlange, ein Worker erledigt ihn später.
Ein häufiger Fehler
Warnung
Viele denken, ein Cache bewahre Daten dauerhaft auf. Ein Cache ist nur eine Kopie und darf jederzeit leer sein. Die echten Daten liegen in der Datenbank. Wird der Cache neu gestartet, gehen keine Bestellungen verloren.