Webhooks vs. Polling: Por Qué tu Web Debería Dejar de Preguntar "¿Ya Llegamos?"
Webhooks vs. Polling: Por Qué tu Web Debería Dejar de Preguntar "¿Ya Llegamos?"
Cuando construimos una aplicación web moderna, rara vez funciona de forma aislada. Necesita hablar con otros sistemas: una pasarela de pagos para saber si una tarjeta fue aprobada, un servicio de envíos para saber si un paquete se entregó, o un CRM para registrar un nuevo cliente.
El gran desafío de la arquitectura de software es cómo hacemos que esos sistemas se comuniquen de forma eficiente. Históricamente, el debate se reduce a dos enfoques: Polling y Webhooks.
Para entender la diferencia, imaginá un viaje largo en auto.

Polling: El Síndrome del "¿Ya Llegamos?"
El Polling (o sondeo) es el método más antiguo y básico. Funciona haciendo que tu sistema le pregunte repetidamente al otro sistema si hay alguna novedad.
Volviendo a la analogía del auto, el Polling es como un nene sentado en el asiento de atrás preguntando cada cinco minutos: "¿Ya llegamos? ¿Ya llegamos? ¿Ya llegamos?".
En código, esto significa que tu servidor le envía una petición a la pasarela de pagos cada 10 segundos preguntando: "¿El usuario ya pagó?". El 99% de las veces, la respuesta de la pasarela será: "No, todavía no".
El problema: Es extremadamente ineficiente. Estás gastando recursos de tu servidor, ancho de banda y poder de procesamiento en hacer preguntas que casi siempre reciben un "no" por respuesta. Si tenés miles de usuarios haciendo esto al mismo tiempo, tu infraestructura se satura rápidamente.
Webhooks: "No nos llames, nosotros te llamamos"
Los Webhooks son la solución moderna y elegante a este problema. En lugar de preguntar constantemente, tu sistema le da al otro sistema una dirección (una URL) y le dice: "Avisame acá cuando pase algo importante".
En nuestro viaje en auto, usar un Webhook es como encender el GPS, relajarse y escuchar música. No necesitás preguntar nada; sabés que la voz del GPS te va a interrumpir automáticamente justo en el momento en que llegues a tu destino.
En la práctica, cuando un usuario hace una compra, tu servidor no hace nada. Simplemente espera. Cuando el pago finalmente se aprueba en la pasarela, es la pasarela la que toma la iniciativa y envía un mensaje (una petición HTTP) a la URL de tu Webhook diciendo: "¡Listo! El pago se aprobó".
La ventaja: Tu servidor no desperdicia recursos haciendo preguntas inútiles. Solo trabaja cuando hay información real que procesar. Es una arquitectura basada en eventos, mucho más rápida, limpia y escalable.


