Conector NATS
Descripción General
Sección titulada «Descripción General»El conector NATS habilita mensajería de publicación/suscripción en un servidor o clúster NATS, con autenticación opcional mediante token o archivo de credenciales JWT.
Tipos de Conector:
NatsReader- Suscribirse a un sujetoNatsWriter- Publicar en un sujeto
Lector NATS
Sección titulada «Lector NATS»Suscribirse a un sujeto:
{ "type": "NatsReader", "config": { "url": "nats://localhost:4222", "subject": "sensors.temperature" }}Grupo de Cola para Balanceo de Carga
Sección titulada «Grupo de Cola para Balanceo de Carga»Cuando queue está definido, NATS distribuye los mensajes entre todos los lectores del mismo grupo de cola, de modo que sólo un suscriptor recibe cada mensaje:
{ "type": "NatsReader", "config": { "url": "nats://nats.example.com:4222", "subject": "factory.events.>", "queue": "meddle-workers" }}Autenticación por Token
Sección titulada «Autenticación por Token»{ "type": "NatsReader", "config": { "url": "nats://nats.example.com:4222", "subject": "secure.events", "token": "s3cr3t-token" }}Archivo de Credenciales JWT (NATS NGS / Autenticación Descentralizada)
Sección titulada «Archivo de Credenciales JWT (NATS NGS / Autenticación Descentralizada)»{ "type": "NatsReader", "config": { "url": "tls://connect.ngs.global:4222", "subject": "events.>", "credsFile": "/etc/meddle/nats.creds" }}Escritor NATS
Sección titulada «Escritor NATS»Publicar en un sujeto:
{ "type": "NatsWriter", "config": { "url": "nats://localhost:4222", "subject": "processed.events" }}Con Credenciales JWT
Sección titulada «Con Credenciales JWT»{ "type": "NatsWriter", "config": { "url": "tls://connect.ngs.global:4222", "subject": "processed.events", "credsFile": "/etc/meddle/nats.creds" }}Parámetros de Configuración
Sección titulada «Parámetros de Configuración»- url: URL del servidor NATS (
nats://host:puertootls://host:puerto); separa por comas para URLs de clúster - subject: Sujeto al que suscribirse o publicar (admite los comodines
*y>en el lector) - queue: (Lector) Nombre del grupo de cola para entrega con balanceo de carga
- token: (Opcional) Token para autenticación por token
- credsFile: (Opcional) Ruta a un archivo de credenciales (
.creds) NATS para autenticación JWT/nkey
Comodines de Sujeto (Solo Lector)
Sección titulada «Comodines de Sujeto (Solo Lector)»Los sujetos NATS están separados por puntos. Comodines:
*coincide con exactamente un token:sensors.*.temperature>coincide con uno o más tokens finales:factory.events.>
Grupos de Cola
Sección titulada «Grupos de Cola»Los grupos de cola permiten escalado horizontal nativo de NATS sin coordinación externa:
- Múltiples lectores con la misma
queuecomparten el flujo de mensajes; cada mensaje va a exactamente un suscriptor del grupo. - Múltiples lectores con nombres de cola diferentes (o sin cola) reciben cada uno una copia completa de cada mensaje.
Autenticación
Sección titulada «Autenticación»El conector elige las credenciales de la configuración en este orden:
credsFilesi está definido, usando credenciales de usuario NATS (JWT + semilla nkey)tokensi está definido, usando autenticación por token- De lo contrario, la conexión es anónima
La reconexión es automática con un backoff de 2 segundos y reintentos ilimitados.