← Alle Lektionen
Lektion 09Model Context Protocol Advanced Topics
State and the StreamableHTTP transport
Zusammenfassung (Audio)
Keine Audio-Zusammenfassung für diese Lektion.
Studiennotizen
📝 Lernnotizen: Stateless und JSON Response Flags
🌐 Kontext: Horizontales Scaling
- Problem: Bei hohem Traffic wird ein einzelner Server nicht ausreichen. Die Lösung ist das horizontale Scaling (mehr Server hinter einem Load Balancer).
- Herausforderung: Die Aufrechterhaltung des Zustands (State) und der Verbindungen (z. B. Git SSE Response Pipeline) über mehrere, unabhängige Server hinweg ist komplex.
⚙️ Flag: stateless HTTP flag = true
- Funktionsweise: Der Client erhält keine Session ID. Der Server kann einen Client nicht mehr verfolgen oder identifizieren.
- Folgen (Nachteile):
- Der Server kann die Git SSE Response Pathway nicht mehr nutzen.
- Funktionen wie Sampling, Progress Logging oder Subscriptions sind nicht mehr möglich.
- Vorteile:
- Entfällt die Notwendigkeit der Client Initialization und der nachfolgenden Initialized Notification.
- Reduziert den Traffic auf dem Server.
- Fazit: Es besteht ein Trade-off zwischen Zustandsverfolgung und reduzierigem Overhead.
⚙️ Flag: JSON response flag = true
- Funktionsweise: Post-Requests an den Client haben keine Streaming-Funktionalität mehr aktiviert.
- Folgen:
- Der Server sendet nur das finale Ergebnis als reines JSON.
- Es gibt keine Zwischenmeldungen oder Log-Statements während der Verarbeitung (kein Streaming).
- Anwendungsfall: Wenn nur das Endergebnis benötigt wird und keine Echtzeit-Updates erforderlich sind.
💡 Best Practices
- Entwicklung: Verwende während der Entwicklung (lokal) den Transport, den du auch in der Produktion nutzen möchtest.
- Ziel: Vermeide spätere Komplikationen und Anpassungen in der Produktionsumgebung.
Takeaways
- Horizontales Scaling erfordert die Verwaltung des Zustands über mehrere, unabhängige Server.
- stateless HTTP flag = true verhindert die Client-Verfolgung (keine Session ID) und reduziert den Server-Overhead, opfert aber Funktionen wie Progress Logging.
- JSON response flag = true deaktiviert das Streaming bei Post-Requests und sendet nur das finale JSON-Ergebnis.
- Als Best Practice sollte während der Entwicklung immer der Transport genutzt werden, der auch in der Produktion verwendet werden soll.
Lernkarten 7 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.