Skalierbarkeit, Caching und API-Design
"Engpässe messen und zuverlässige Schnittstellen gestalten."
Konzepte verständlich erklärt (für Einsteiger jeden Alters)
Lernziele
Engpässe messen und zuverlässige Schnittstellen gestalten. Nach dieser Lektion kannst du das Konzept erklären, ein kleines Beispiel umsetzen und typische Grenzen benennen.
Erklärung
Skalierung beginnt mit Messung: Antwortzeit, Durchsatz, Fehlerquote und Ressourcen. Caching reduziert wiederholte Arbeit, benötigt aber Ablauf- und Invalidierungsregeln. Pagination begrenzt Antwortgröße; Rate Limits schützen Ressourcen. Horizontale Skalierung funktioniert leichter mit zustandsarmen Servern und extern verwaltetem Zustand.
Schrittweises Beispiel
Eine paginierte API liefert Cursor oder Seitennummer plus begrenzte Ergebnisse. Cache-Keys müssen alle relevanten Berechtigungen und Varianten berücksichtigen; private Daten dürfen nicht versehentlich gemeinsam gecacht werden.
def page(items, number, size=20):
size = min(size, 20)
start = number * size
return items[start:start + size]
print(page(list(range(50)), 1))
Zusammenfassung
Miss zuerst, setze begrenzte Verträge und beobachte Fehler nach einer Änderung.
Lerncheck & Übung
Etwa 40 Minuten · advanced
Das lernst du
- Erkläre die Kernidee von „Skalierbarkeit, Caching und API-Design“ in eigenen Worten.
- Wähle eine passende Technik für einen konkreten Anwendungsfall.
- Erkenne mindestens eine typische Fehlerquelle.
Voraussetzungen
- Keine Zugriffsvoraussetzungen. Vorwissen wird in der Erklärung eingeführt.
Häufige Fehler
- Vorzeitige Optimierung verdeckt den echten Engpass. Unbegrenzte Listen und Retries können Systeme überlasten. Caching kann veraltete oder fremde Daten ausliefern.
Wissenscheck
Praktische Aufgabe
Begrenze eine Liste auf maximal 20 Einträge pro Seite.
Quellen und Einordnung
Ergänzender Lerninhalt: Dieses Thema erweitert den Umfang der genannten CS50-Kurse.
Prüfe meine Erklärung zu „Skalierbarkeit, Caching und API-Design“: Nenne eine fehlende Annahme und stelle mir eine Gegenfrage.
Interaktive Übung & lokaler Testlauf
Begrenze eine Liste auf maximal 20 Einträge pro Seite.
Hinweise auf Wunsch anzeigen
- Zerlege die Aufgabe in Eingabe, Verarbeitung und erwartete Ausgabe.
- Prüfe auch einen leeren oder ungültigen Fall.