AMQP
@5minds/node-red-contrib-processcube-amqp — RabbitMQ/AMQP-Integration mit 4 Nodes für Message-Queue-basierte Architekturen.
Überblick
Das AMQP-Package bietet Nodes zum Senden und Empfangen von Nachrichten über AMQP-Exchanges (RabbitMQ). Es unterstützt verschiedene Exchange-Typen und bietet sowohl dauerhaftes Subscribing als auch getriggerten Nachrichtenempfang.
npm-Paket: @5minds/node-red-contrib-processcube-amqp
Version: 0.9.x
Lizenz: Proprietary
Config-Node
amqp-config
Zentrale AMQP-Verbindungskonfiguration.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
connectionString | string | AMQP-Verbindungsstring (z.B. amqp://guest:guest@localhost:5672) |
Features: Automatisches Reconnect bei Verbindungsabbruch.
Nodes
amqp-input
Empfängt Nachrichten dauerhaft von einem AMQP-Exchange.
Konfiguration:
| Eigenschaft | Beschreibung |
|---|---|
amqpServer | AMQP-Konfiguration |
exchange | Exchange-Name |
exchangeType | Exchange-Typ: fanout, topic, direct |
queue | Queue-Name |
routingKey | Routing Key (bei topic oder direct) |
Output:
| Feld | Typ | Beschreibung |
|---|---|---|
msg.payload | Object/string | Empfangene Nachricht (JSON wird automatisch geparst) |
Automatisches ACK nach Verarbeitung.
amqp-output
Sendet Nachrichten an einen AMQP-Exchange.
Konfiguration:
Wie amqp-input.
Input:
| Feld | Typ | Beschreibung |
|---|---|---|
msg.payload | any | Zu sendende Nachricht (Objekte werden JSON-serialisiert) |
amqp-intermediate-input
Empfängt eine einzelne Nachricht bei Trigger. Im Gegensatz zu amqp-input abonniert dieser Node nicht dauerhaft, sondern holt erst bei eingehender Message eine Nachricht aus der Queue.
Konfiguration:
Wie amqp-input.
Input:
| Feld | Typ | Beschreibung |
|---|---|---|
msg | any | Trigger-Nachricht |
Output:
| Feld | Typ | Beschreibung |
|---|---|---|
msg.payload | Object/string | Empfangene AMQP-Nachricht |
amqp-intermediate-output
Sendet eine Nachricht an einen AMQP-Exchange und leitet die Original-Message weiter. Im Gegensatz zu amqp-output wird die eingehende Message nach dem Senden durchgereicht.
Konfiguration:
Wie amqp-output.
Input:
| Feld | Typ | Beschreibung |
|---|---|---|
msg.payload | any | Zu sendende Nachricht |
Output:
| Feld | Typ | Beschreibung |
|---|---|---|
msg | Object | Original-Message (Pass-through) |
Exchange-Typen
| Typ | Beschreibung | Routing Key |
|---|---|---|
fanout | Broadcast an alle gebundenen Queues | Wird ignoriert |
topic | Pattern-basiertes Routing | z.B. order.created, order.* |
direct | Exaktes Routing | Exakter Match erforderlich |
Patterns
Pub/Sub: Broadcast-Messages an mehrere Subscriber (fanout)
[amqp-output] → Exchange (fanout) → [Queue A] → [amqp-input: Service A]
→ [Queue B] → [amqp-input: Service B]Work Queue: Load-Balancing zwischen Workers (direct)
[amqp-output] → Exchange (direct) → [Queue] → [amqp-input: Worker 1]
→ [amqp-input: Worker 2]Intermediate Pattern: Nachricht senden und weiterverarbeiten
[Function] → [amqp-intermediate-output] → [Weitere Verarbeitung]
↓ (sendet an Queue)Installation
Im Enterprise Image enthalten. Keine separate Installation erforderlich.
Nächste Schritte
- E-Mail & Tools — E-Mail-Integration
- Elasticsearch — Logging