concepto · intermedio · 1 min de lectura
NATS
NATS es un sistema de mensajería ultrarrápido y minimalista, diseñado para alta disponibilidad, baja latencia y simplicidad operativa con soporte nativo para pub/sub y request-reply.
No requiere conocimientos previos.
Alcance en breve
Cubre
- NATS as a concept
No cubre
- implementation details
Supone
- The reader understands relevant fundamentals.
Resumen
NATS es un sistema de mensajería de código abierto que prioriza la simplicidad y el rendimiento sobre las funciones. A diferencia de RabbitMQ (enrutamiento complejo) o Kafka (streaming masivo), NATS apunta a ser el "dial tone" de los sistemas distribuidos: siempre disponible, latencia mínima, configuración casi nula.
Soporta pub/sub —múltiples suscriptores reciben mensajes de un subject—, request-reply —un cliente envía una solicitud y espera respuesta—, y JetStream —persistencia y streaming sobre el core de NATS—. Escrito en Go, maneja millones de mensajes por segundo en hardware modesto.
Alcance y supuestos
Cubre NATS como sistema de mensajería, su modelo de subjects, y contraste con Kafka y RabbitMQ.
Modelo mental
Un intercomunicador de oficina. Apretás un botón, hablás, y todos los que están en ese canal te escuchan instantáneamente. No hay colas, no hay enrutamiento complejo: solo canales y mensajes. NATS es ese intercomunicador a escala de datacenter.
Uso práctico
- ✅ Microservicios, edge computing, IoT, service mesh.
- ❌ Procesamiento de eventos históricos o streaming masivo.
Ejemplo trabajado: health checks con NATS
Microservicios publican heartbeats en health.$service. Un monitor suscripto a health.> recibe todos los heartbeats y alerta si un servicio deja de emitir. Latencia sub-milisegundo, sin configuración de colas.
Evidencia
- NATS es mantenido por Synadia y usado en producción por Cloud Foundry, Siemens y Mastercard.
Fuentes citadas
- Wikipedia, RabbitMQ (Síntesis, 21-07-2026)