NATS JetStream

Sistema de mensajería de alto rendimiento y baja latencia con persistencia de mensajes, streams y consumers a través de JetStream. Ideal para microservicios, event-driven architectures y colas de trabajo.

Versión:

2.12.4

Volver a Marketplace

Requisitos de VM

Recurso Mínimo
CPU 2 vCPU
RAM 4 GB
Disco 40 GB
Sistema Operativo Ubuntu 22.04 / 24.04

Puerto de acceso

Puerto Protocolo Uso
30422 TCP NATS client (publish/subscribe, JetStream)
30822 HTTP Monitoring UI y API de métricas

Cómo acceder

URL de conexión

nats://<IP_DE_LA_VM>:30422

Con autenticación por token

nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

ℹ️ Si no configuraste el token al desplegar, búscalo en los outputs del deployment en el portal de Cuemby.

Verificar conectividad con nats CLI

# Instalar nats CLI
curl -sf https://binaries.nats.dev/nats-io/natscli/nats@latest | sh

# Verificar conexión
nats server info --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

# Publicar un mensaje de prueba
nats pub mi.subject "hola mundo" --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

# Suscribirse a un subject
nats sub mi.subject --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

Connection strings por lenguaje

// Go (nats.go)
nc, _ := nats.Connect("nats://<IP_DE_LA_VM>:30422",
    nats.Token("<AUTH_TOKEN>"))
# Python (nats-py)
nc = await nats.connect("nats://<IP_DE_LA_VM>:30422",
    token="<AUTH_TOKEN>")
// Node.js (nats.ws / nats.js)
const nc = await connect({
    servers: "<IP_DE_LA_VM>:30422",
    token: "<AUTH_TOKEN>"
});

Monitoring UI

NATS expone un dashboard de métricas en tiempo real en el puerto 30822:

http://<IP_DE_LA_VM>:30822/

Endpoints útiles:

# Info general del servidor
curl http://<IP_DE_LA_VM>:30822/varz

# Estado de JetStream
curl http://<IP_DE_LA_VM>:30822/jsz

# Conexiones activas
curl http://<IP_DE_LA_VM>:30822/connz

Validar que NATS Está Activo

# Ver el pod de NATS
kubectl get pods -A | grep nats

# Ver log de instalación
tail -f /var/log/cuemby/bootstrap.log

# Verificar que los puertos están escuchando
ss -tlnp | grep -E '30422|30822'

Output esperado:

NAME                          READY   STATUS    RESTARTS
nats-jetstream-xxxxxxxxx      1/1     Running   0        ← Running ✓

Parámetros de configuración

Parámetro Default Descripción
NATS_AUTH_TOKEN ⚠️ auto-generado Token de autenticación para clientes. Si se deja vacío, Cuemby genera uno aleatoriamente.
NATS_DATA_SIZE 10Gi Tamaño del volumen persistente para streams de JetStream.

Primeros pasos (inicio rápido)

# Crear un stream
nats stream add MI_STREAM \
  --subjects "eventos.>" \
  --storage file \
  --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

# Ver streams existentes
nats stream ls --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

# Publicar un mensaje persistido
nats pub eventos.nuevo "{'id': 1, 'tipo': 'registro'}" \
  --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

# Crear un consumer y leer mensajes
nats consumer add MI_STREAM MI_CONSUMER \
  --server nats://<AUTH_TOKEN>@<IP_DE_LA_VM>:30422

💡 Tip: JetStream usa --storage file para persistencia en disco y --storage memory para máxima velocidad sin persistencia. Para producción usa siempre file.

Solución rápida de problemas

Problema Causa probable Solución
Authorization Violation Token incorrecto o faltante Verifica el token en los outputs del deployment e inclúyelo en la URL de conexión.
Connection refused en 30422 NATS aún iniciando Espera ~2–3 min y revisa tail -f /var/log/cuemby/bootstrap.log.
Mensajes no persisten Stream no creado Crea el stream con nats stream add antes de publicar con JetStream.
Monitoring no responde en 30822 Pod no listo Verifica que el pod está en Running con kubectl get pods -A | grep nats.
Pod en CrashLoopBackOff Disco insuficiente Verifica con kubectl describe pod -n .

Cuemby Cloud

IaaS

Acerca de Cuemby Cloud

Cuemby Cloud es una infraestructura de nube de nivel empresarial gestionada desde una única consola, diseñada para ofrecer una seguridad más sólida, operaciones predecibles y una fácil escalabilidad en todas las regiones.

Regiones de centros de datos disponibles en Colombia, Ecuador y Chile

Respaldado por ubicaciones de centros de datos de nivel III y nivel IV

Tarifas de entrada y salida de red cero

Soporte de expertos locales 24/7

¿listo para modernizar tu empresa?

Los desafíos del futuro exigen soluciones preparadas para el futuro. ¡Empecemos!

© Derechos de autor | Cuemby® 2025