Verbindungen und Streams
Diese Aktionen treten in Familien von zwei oder drei auf: verbinden, senden, schließen. Die Verbindung bleibt zwischen den Bausteinen offen, was es erlaubt, andere Aufrufe dazwischenzuschieben.
Das gemeinsame Muster
Section titled “Das gemeinsame Muster”Eine Verbindungsaktion hat zwei Ausgänge:
| Ausgang | Auslösung |
|---|---|
connected | Ein Signal, einmalig, beim Aufbau der Verbindung |
message | Eine Auslösung pro empfangener Nachricht |
Sie trägt einen Verbindungsnamen (connectionName). Die Aktionen zum
Senden und Schließen bezeichnen diese Verbindung anschließend über ihre
Baustein-ID (connectionNodeId).
Das klassische Muster:
MQTT-Verbindung ──connected──► HTTP-Anfrage (fachliche Aktion auslösen) └────────message─────► Assert (die erwartete Nachricht ist eingetroffen) dann ──► MQTT-Verbindung schließenWebSocket
Section titled “WebSocket”| Aktion | Eingänge | Ausgänge |
|---|---|---|
| WebSocket-Verbindung | — | connected, message (jede empfangene Frame) |
| WebSocket senden | payload | — |
| WebSocket-Verbindung schließen | — | — |
| WebSocket-Server schließen | — | — |
Siehe WebSocket.
Socket.IO
Section titled “Socket.IO”| Aktion | Eingänge | Ausgänge |
|---|---|---|
| Socket.IO-Verbindung | — | connected, ein Port event:<name> pro deklariertem Event, sowie others |
| Socket.IO senden | channel, payload | — |
| Socket.IO-Verbindung schließen | — | — |
| Socket.IO-Server schließen | — | — |
Das ist die einzige Verbindungsaktion, deren Ausgänge konfigurierbar sind:
Deklarieren Sie die Liste der Events, die Sie interessieren, und jedes erhält
seinen eigenen Port. Jedes nicht deklarierte Event landet auf others.
Siehe Socket.IO.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| MQTT-Verbindung | — | connected, message |
| MQTT-Publikation | payload | — |
| MQTT-Verbindung schließen | — | — |
Die Verbindung abonniert das Thema der Anfrage; das Senden veröffentlicht mit der konfigurierten QoS und der Retain-Option. Siehe MQTT.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| SSE-Verbindung | — | connected, message |
| SSE-Verbindung schließen | — | — |
Nur zum Empfang: Es gibt keine Sendeaktion. Siehe SSE.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| STOMP-Verbindung | — | connected, message |
| STOMP senden | payload | — |
| STOMP-Verbindung schließen | — | — |
Die Verbindung sendet das CONNECT und dann ein SUBSCRIBE pro
konfiguriertem Abonnement; das Senden erzeugt eine SEND-Frame; das
Schließen ein DISCONNECT. Siehe STOMP.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| AMQP-Verbindung | — | connected, message |
| AMQP-Publikation | payload | — |
| AMQP-Verbindung schließen | — | — |
Die Verbindung konsumiert die Queue der Anfrage (Modus subscribe); die
Publikation nutzt deren Exchange und Routing-Key. Siehe AMQP.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| Redis-Abonnement | — | connected, message |
| Redis-Verbindung schließen | — | — |
Für einen einzelnen Befehl gibt es Redis-Befehl, eine Anfrage-/Antwort-Aktion — siehe Anfragen und Komposition.
| Aktion | Eingänge | Ausgänge |
|---|---|---|
| Kafka-Konsum | — | connected, message |
| Kafka-Verbindung schließen | — | — |
Der Konsum abonniert über die Consumer-Group der Anfrage. Zum Produzieren gibt es Kafka-Produktion, eine einzelne Aktion. Siehe Kafka.
gRPC im Stream
Section titled “gRPC im Stream”| Aktion | Eingänge | Ausgänge |
|---|---|---|
| gRPC-Verbindung | — | connected, message |
| gRPC senden | payload | — |
| gRPC-Verbindung schließen | — | — |
Für die Modi server-stream, client-stream und
bidirectional-stream: Das Senden ist nur bei den letzten beiden
sinnvoll, das Schließen führt die Halbschließung auf Client-Seite aus. Ein
unary-Aufruf erfolgt mit HTTP-Anfrage. Siehe gRPC.
GraphQL-Subscriptions
Section titled “GraphQL-Subscriptions”| Aktion | Eingänge | Ausgänge |
|---|---|---|
| GraphQL-Subscription | — | connected, message |
| GraphQL-Subscription beenden | — | — |
Siehe GraphQL.