MCP Academy · Lección

Concurrencia y control de sobrecarga

Limite el trabajo paralelo para que el servidor se mantenga estable.

Lección 2 de 413 pasos

Concurrencia y control de sobrecarga es una lección gratuita de MCP Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MCP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MCP Academy incluye 4 lecciones en total.

La asincronía no es infinita

La asincronía permite ejecutar muchas llamadas a la vez, pero cada tarea en curso sigue utilizando memoria y conexiones. La concurrencia sin límites puede hacer colapsar un servidor. 💥

Qué significa backpressure

Backpressure es la forma en que un servidor ocupado limita el trabajo entrante: lo ralentiza o lo pone en cola en lugar de intentar hacerlo todo a la vez.

Limite el trabajo paralelo

Un semaphore establece un máximo para la cantidad de tareas que se ejecutan en paralelo, de modo que el servidor solo asume la carga que puede gestionar de forma segura.

sem = asyncio.Semaphore(10)
async with sem:
    await do_work()

Limite sus pools de conexiones

Asigne un tamaño máximo a los pools de bases de datos y HTTP. Al alcanzarlo, las nuevas llamadas esperan una conexión libre en lugar de abrir un número ilimitado.

Ponga en cola, no descarte

Cuando haya alcanzado la capacidad, permita que las llamadas adicionales se pongan en cola brevemente. Las esperas cortas y limitadas son preferibles a colapsar ante un aumento repentino de solicitudes.

Limite también la cola

Una cola sin límites solo oculta la sobrecarga hasta que se agota la memoria. Limite la longitud de la cola y rechace el trabajo cuando esté llena.

Rechace rápidamente cuando esté lleno

Si el servidor está saturado, devuelva rápidamente un error claro de servidor busy para que el cliente pueda reintentar, en lugar de dejar que las llamadas se queden esperando indefinidamente.

Añada tiempos de espera en todas partes

Combine los límites con timeouts para que un servicio ascendente bloqueado no pueda ocupar un recurso indefinidamente y privar poco a poco de capacidad a todas las demás solicitudes.

async with asyncio.timeout(5):
    await call_upstream()

Vigile las cantidades en curso

Realice un seguimiento de cuántas tareas están activas en ese momento. El aumento de las cantidades en curso es la primera señal de que la carga supera la capacidad.

Ajuste los límites a la realidad

Elija los límites a partir de un comportamiento medido, no de suposiciones. Realice pruebas de carga, observe la latencia y aumente o reduzca los topes hasta que el servidor permanezca estable.

Manténgase estable bajo carga

Si se aplica correctamente, el backpressure mantiene el servidor estable: atiende lo que puede, pospone el resto y nunca llega a colapsar.

Comprobación rápida

¿De qué protege el backpressure a un servidor?

Repaso: limite la carga

Ha limitado el trabajo paralelo con semaphores, ha acotado los pools y las colas, ha añadido tiempos de espera y ha rechazado rápidamente las solicitudes cuando no había capacidad, manteniendo el servidor en buen estado. ✅

Gratis para empezar

Aprende Python con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Concurrencia y control de sobrecarga» es gratis?

Sí — el texto completo de «Concurrencia y control de sobrecarga» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MCP Academy, actualiza a CoddyKit PRO. El curso de MCP Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Concurrencia y control de sobrecarga»?

Limite el trabajo paralelo para que el servidor se mantenga estable. Practicas MCP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar MCP Academy?

No se requiere experiencia previa. MCP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Concurrencia y control de sobrecarga»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de MCP Academy?

Sí. Cada lección de MCP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Herramientas asíncronas que no bloquean
  2. Concurrencia y control de sobrecarga
  3. Reducir resultados con demasiados tokens
  4. Escalar horizontalmente con sesiones
← Volver a MCP Academy