MCP Academy · Les

Verbindingen poolen tijdens de levensduur

Gebruik database- en HTTP-clients opnieuw voor meerdere requests.

Les 3 van 413 stappen

Verbindingen poolen tijdens de levensduur is een gratis MCP Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject MCP Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus MCP Academy bevat in totaal 4 lessen.

Verbinding maken kost tijd

Elke keer dat je een nieuwe database- of HTTP-verbinding opent, is dat traag. De handshake zorgt voor extra vertraging die bij hoge belasting snel oploopt. 🐢

Hergebruik met een pool

Een verbindingspool houdt een aantal actieve verbindingen klaar, leent er één uit per verzoek en neemt die terug zodra het werk klaar is.

Bouw de pool bij het opstarten

De hook lifespan is de perfecte plek: maak de pool één keer aan wanneer de server opstart, voordat een tool wordt uitgevoerd.

@asynccontextmanager
async def lifespan(server):
    pool = await create_pool(DSN)
    yield {"pool": pool}

Geef de pool door als gedeelde toestand

Alles wat je vanuit de lifespan yieldt, wordt gedeelde context. Zo gebruikt elke handler dezelfde pool zonder die opnieuw op te bouwen.

Benader de pool via de context

Haal in een tool de pool uit de context van het verzoek, in plaats van elke keer een eigen verbinding te openen.

pool = ctx.request_context.lifespan_context["pool"]

Leen, gebruik en geef terug

Haal een verbinding uit de pool, voer je query uit en laat de verbinding automatisch terugkeren. Het blok with handelt het uitlenen en vrijgeven af.

async with pool.acquire() as conn:
    rows = await conn.fetch(sql)

Beperk de poolgrootte

Stel een maximumgrootte in, zodat de pool nooit meer verbindingen opent dan je database aankan, zelfs niet wanneer de verzoeken binnenstromen.

pool = await create_pool(DSN, max_size=10)

Deel ook één HTTP-client

Hetzelfde idee werkt voor HTTP: maak één httpx-client in de lifespan en hergebruik die, zodat verbindingen actief en gepoold blijven.

client = httpx.AsyncClient()
yield {"http": client}

Pools zijn threadveilig

Een goede asynchrone pool is gebouwd voor concurrentie en geeft veilig verbindingen aan veel verzoeken die tegelijkertijd worden uitgevoerd.

Let op lekken

Geef altijd terug wat je leent. Een verbinding die je vergeet terug te geven, is een lek dat de pool langzaam uitput totdat verzoeken vastlopen.

Sluit de pool af bij het stoppen

Sluit de pool na de yield van de lifespan met close, zodat verbindingen netjes worden afgebouwd wanneer de server stopt.

    yield {"pool": pool}
    await pool.close()

Korte controle

Waar bouw je een verbindingspool?

Samenvatting: pooling

Je hebt verbindingen gepoold in de lifespan: één keer bouwen, delen via de context, per verzoek lenen en afsluiten bij het stoppen. Hierna behandelen we cachen en snelheidsbeperking. 🎯

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Verbindingen poolen tijdens de levensduur” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad MCP Academy, waaronder “Verbindingen poolen tijdens de levensduur”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus MCP Academy bevat in totaal 4 lessen.

Wat leer ik in “Verbindingen poolen tijdens de levensduur”?

Gebruik database- en HTTP-clients opnieuw voor meerdere requests. Je oefent met MCP Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met MCP Academy te beginnen?

Ervaring vooraf is niet nodig. MCP Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Verbindingen poolen tijdens de levensduur”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over MCP Academy?

Ja. Elke les over MCP Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. SQL-queries veilig beschikbaar stellen
  2. Een REST-API als tools verpakken
  3. Verbindingen poolen tijdens de levensduur
  4. Upstreams cachen en rate-limiten
← Terug naar MCP Academy