NATS-Konnektor
Übersicht
Abschnitt betitelt „Übersicht“Der NATS-Konnektor ermöglicht Publish/Subscribe-Messaging auf einem NATS-Server oder -Cluster, mit optionaler Token- oder JWT-Credentials-File-Authentifizierung.
Konnektor-Typen:
NatsReader- Ein Subject abonnierenNatsWriter- Auf einem Subject veröffentlichen
NATS Reader
Abschnitt betitelt „NATS Reader“Ein Subject abonnieren:
{ "type": "NatsReader", "config": { "url": "nats://localhost:4222", "subject": "sensors.temperature" }}Queue-Gruppe für Lastverteilung
Abschnitt betitelt „Queue-Gruppe für Lastverteilung“Wenn queue gesetzt ist, verteilt NATS Nachrichten über alle Reader in derselben Queue-Gruppe, sodass nur ein Abonnent jede Nachricht empfängt:
{ "type": "NatsReader", "config": { "url": "nats://nats.example.com:4222", "subject": "factory.events.>", "queue": "meddle-workers" }}Token-Authentifizierung
Abschnitt betitelt „Token-Authentifizierung“{ "type": "NatsReader", "config": { "url": "nats://nats.example.com:4222", "subject": "secure.events", "token": "s3cr3t-token" }}JWT-Credentials-Datei (NATS NGS / Dezentralisierte Auth)
Abschnitt betitelt „JWT-Credentials-Datei (NATS NGS / Dezentralisierte Auth)“{ "type": "NatsReader", "config": { "url": "tls://connect.ngs.global:4222", "subject": "events.>", "credsFile": "/etc/meddle/nats.creds" }}NATS Writer
Abschnitt betitelt „NATS Writer“Auf einem Subject veröffentlichen:
{ "type": "NatsWriter", "config": { "url": "nats://localhost:4222", "subject": "processed.events" }}Mit JWT-Credentials
Abschnitt betitelt „Mit JWT-Credentials“{ "type": "NatsWriter", "config": { "url": "tls://connect.ngs.global:4222", "subject": "processed.events", "credsFile": "/etc/meddle/nats.creds" }}Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“- url: NATS-Server-URL (
nats://host:portodertls://host:port); für Cluster-URLs durch Komma trennen - subject: Zu abonnierendes oder zu veröffentlichendes Subject (unterstützt
*- und>-Wildcards beim Reader) - queue: (Reader) Queue-Gruppenname für lastverteilte Zustellung
- token: (Optional) Token für die Token-Authentifizierung
- credsFile: (Optional) Pfad zu einer NATS-Credentials (
.creds)-Datei für JWT/nkey-Auth
Subject-Wildcards (Nur Reader)
Abschnitt betitelt „Subject-Wildcards (Nur Reader)“NATS-Subjects sind punktgetrennt. Wildcards:
*entspricht genau einem Token:sensors.*.temperature>entspricht einem oder mehreren nachfolgenden Tokens:factory.events.>
Queue-Gruppen
Abschnitt betitelt „Queue-Gruppen“Queue-Gruppen bieten NATS-native horizontale Skalierung ohne externe Koordination:
- Mehrere Reader mit derselben
queueteilen sich den Nachrichtenstrom; jede Nachricht geht an genau einen Abonnenten in der Gruppe. - Mehrere Reader mit unterschiedlichen Queue-Namen (oder keiner Queue) erhalten jeweils eine vollständige Kopie jeder Nachricht.
Authentifizierung
Abschnitt betitelt „Authentifizierung“Der Konnektor wählt Anmeldedaten aus der Konfiguration in dieser Reihenfolge aus:
credsFile, wenn gesetzt, unter Verwendung von NATS-Benutzeranmeldedaten (JWT + nkey-Seed)token, wenn gesetzt, unter Verwendung der Token-Authentifizierung- Andernfalls ist die Verbindung anonym
Die Wiederverbindung erfolgt automatisch mit einem 2-Sekunden-Backoff und unbegrenzten Wiederholungen.