Samenvatting (audio)
Geen audio-samenvatting voor deze les.
Studienotities
📝 Studieopmerkingen: Stateless en JSON Response Flags
Context: Horizontale Schaling
- Wanneer een MCP-server populair wordt, is horizontale schaling noodzakelijk (meerdere server-instanties achter een load balancer).
- Bij load balancing kan een client-request naar een willekeurige server worden gerouteerd, wat het bijhouden van client-toestanden (state) extreem moeilijk maakt.
Flag: stateless (Stateloos)
- Wat het doet: Als deze flag op true wordt gezet, ontvangt de client geen sessie-ID. De server kan een client nooit bijhouden.
- Gevolgen (Nadelen):
- De server kan de Git SSE response pathway niet gebruiken (geen client-naar-server communicatie).
- Functionaliteit zoals sampling, progress logging en subscriptions kan niet worden gebruikt.
- Voordelen:
- Geen client initialisatie of notificatie-requests meer nodig → vermindert het verkeer naar de server.
- Trade-off: Geen client-toestand (state) ↔ Minder infrastructuurcomplexiteit.
Flag: json response (JSON Response)
- Wat het doet: Als deze flag op true wordt gezet, wordt er geen streaming ingeschakeld voor POST-requests naar de client.
- Gevolgen:
- De server stuurt alleen het definitieve resultaat als platte JSON.
- Geen tussenliggende berichten of log-statements worden verzonden.
- De client moet wachten tot de toolcall volledig is voltooid.
Aanbevelingen
- Ontwikkeling: Gebruik tijdens de ontwikkeling (op lokale machine) altijd de transportmethode die je in productie wilt gebruiken (bijv. streamable HTTP).
- Doel: Dit voorkomt problemen bij de overgang van ontwikkeling naar productie.
Takeaways
- Horizontale schaling vereist stateloosheid omdat load balancing het bijhouden van client-toestanden (state) onmogelijk maakt.
- De flag stateless=true elimineert sessie-ID's en vermindert verkeer, maar maakt functies zoals Git SSE, sampling en progress logging onbruikbaar.
- De flag json response=true schakelt streaming uit voor POST-requests en zorgt ervoor dat de server alleen het definitieve, platte JSON-resultaat stuurt.
- Tijdens de ontwikkeling moet altijd de transportmethode die in productie gebruikt zal worden, worden toegepast om overgangsproblemen te voorkomen.
Flashcards 8 kaarten
Vraag
klik om te onthullen · ←/→
Antwoord
klik om terug te draaien
Kenniscontrole 0 vragen
No quiz for this lesson yet.