Model Context Protocol Advanced Topics
← 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
Nach Anki exportieren (.tsv) ↓
Wissensüberprüfung 0 Fragen

No quiz for this lesson yet.