Azure Service Bus
Die Azure-Service-Bus-Extension (@5minds/processcube_engine_azure_servicebus_extension)
bindet Azure Service Bus als Messagebus-Backend an — mit zusätzlichen
Fehlertoleranz-Mechanismen (Receiver-Watchdog, automatische Lock-Erneuerung,
Sender-Cache).
Architektur
Registrierung über onLoad, Anbindung über onBeforeResuming (Throw-Events) und
onReady (Catch-Events). Der AzureServiceBusAdapter implementiert
IMessageBusAdapter. Nachrichten werden als JSON mit ApplicationProperties für
Engine-Metadaten übertragen. Ein Watchdog-Timer prüft regelmäßig alle aktiven
Receiver auf Timeouts/Fehler und löst bei Bedarf einen Reconnect aus.
Einrichten
Im Engine-Image enthalten; automatisch aktiv, sobald
AZURE_SERVICE_BUS_CONNECTION_STRING gesetzt ist. Die übrigen Parameter steuern
Parallelität und Fehlertoleranz und sind optional.
Konfiguration
| Env-Variable | Default | Beschreibung |
|---|---|---|
AZURE_SERVICE_BUS_CONNECTION_STRING | — | String, Pflicht. Azure-Service-Bus-Connection-String |
AZURE_SERVICE_BUS_PARALLEL_MESSAGE_COUNT | 1 | Integer, optional. Anzahl parallel verarbeiteter Nachrichten pro Receiver |
AZURE_SERVICE_BUS_MAX_AUTO_LOCK_RENEWAL_DURATION_IN_MS | 300000 | Integer, optional. Maximale Dauer der automatischen Lock-Erneuerung (ms) |
AZURE_SERVICE_BUS_RECEIVER_WATCHDOG_INTERVAL_MS | 300000 | Integer, optional. Intervall zwischen den Watchdog-Prüfungen (ms) |
AZURE_SERVICE_BUS_RECEIVER_MAX_IDLE_MS | 3600000 | Integer, optional. Maximale Inaktivität eines Receivers vor Reconnect (ms) |
AZURE_SERVICE_BUS_OUT_ENABLED | true | Boolean, optional. Nur false schaltet den ausgehenden Teil (Versand von Signalen/Nachrichten) ab. |
AZURE_SERVICE_BUS_IN_ENABLED | true | Boolean, optional. Nur false schaltet den eingehenden Teil (Receiver/Subscriptions) ab. |
IN- und OUT-Teil einzeln abschalten
Der ausgehende (OUT: publish/sendMessage) und der eingehende (IN:
subscribe/receive) Teil des Adapters lassen sich getrennt abschalten. Beide
sind aktiv, sobald ein Connection-String gesetzt ist — es handelt sich um reine
Opt-out-Schalter, bei denen ausschließlich der exakte Wert false deaktiviert:
AZURE_SERVICE_BUS_OUT_ENABLED=false: ausgehende Signale/Nachrichten werden verworfen (No-op), der Empfang bleibt aktiv.AZURE_SERVICE_BUS_IN_ENABLED=false: es werden keine Receiver/Subscriptions angelegt (der Watchdog entfällt), der Versand bleibt aktiv.- Beide
false: der Adapter registriert sich nicht (Info-Log).
Verwendung
services:
engine:
image: marketplace.processcube.io/processcube-io/processcube_engine:latest
environment:
- AZURE_SERVICE_BUS_CONNECTION_STRING=Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<key>
- AZURE_SERVICE_BUS_PARALLEL_MESSAGE_COUNT=5Die Tuning-Parameter (Parallelität, Watchdog, Idle) müssen nur bei Bedarf gesetzt werden — die Defaults sind für die meisten Setups passend.