Przejdź do głównej zawartości

Połączenia i strumienie

Te akcje występują w rodzinach po dwie lub trzy: połączenie, wysyłanie, zamknięcie. Połączenie pozostaje otwarte pomiędzy blokami, co pozwala przeplatać w środku inne wywołania.

Akcja połączenia ma dwa wyjścia:

WyjścieEmisja
connectedSygnał, jednorazowo, w momencie nawiązania połączenia
messageJedna emisja na każdą odebraną wiadomość

Akcja nosi nazwę połączenia (connectionName). Akcje wysyłania i zamknięcia wskazują następnie to połączenie przez identyfikator jego bloku (connectionNodeId).

Klasyczny wzorzec:

Połączenie MQTT ──connected──► Żądanie HTTP (wyzwolenie akcji biznesowej)
└─────────message─────► Assert (oczekiwana wiadomość dotarła)
następnie ──► Zamknięcie połączenia MQTT
AkcjaWejściaWyjścia
Połączenie WebSocket—connected, message (każda odebrana ramka)
Wysyłanie WebSocketpayload—
Zamknięcie połączenia WebSocket——
Zamknięcie serwera WebSocket——

Zob. WebSocket.

AkcjaWejściaWyjścia
Połączenie Socket.IO—connected, po jednym porcie event:<name> na każde zadeklarowane zdarzenie, oraz others
Wysyłanie Socket.IOchannel, payload—
Zamknięcie połączenia Socket.IO——
Zamknięcie serwera Socket.IO——

To jedyna akcja połączenia, której wyjścia są konfigurowalne: wystarczy zadeklarować listę interesujących zdarzeń, a każde z nich otrzyma własny port. Każde niezadeklarowane zdarzenie dociera na others.

Zob. Socket.IO.

AkcjaWejściaWyjścia
Połączenie MQTT—connected, message
Publikacja MQTTpayload—
Zamknięcie połączenia MQTT——

Połączenie subskrybuje temat zapisany w żądaniu; wysyłanie publikuje ze skonfigurowanym poziomem QoS i opcją zachowania wiadomości. Zob. MQTT.

AkcjaWejściaWyjścia
Połączenie SSE—connected, message
Zamknięcie połączenia SSE——

Tylko odbiór: nie ma akcji wysyłania. Zob. SSE.

AkcjaWejściaWyjścia
Połączenie STOMP—connected, message
Wysyłanie STOMPpayload—
Zamknięcie połączenia STOMP——

Połączenie wysyła ramkę CONNECT, a następnie po jednej ramce SUBSCRIBE na każdą skonfigurowaną subskrypcję; wysyłanie tworzy ramkę SEND, a zamknięcie — DISCONNECT. Zob. STOMP.

AkcjaWejściaWyjścia
Połączenie AMQP—connected, message
Publikacja AMQPpayload—
Zamknięcie połączenia AMQP——

Połączenie konsumuje kolejkę zapisaną w żądaniu (tryb subscribe); publikacja korzysta z jego exchange’u i klucza routingu. Zob. AMQP.

AkcjaWejściaWyjścia
Subskrypcja Redis—connected, message
Zamknięcie połączenia Redis——

Do wykonania pojedynczego polecenia służy Polecenie Redis — akcja typu żądanie / odpowiedź, opisana na stronie Żądania i kompozycja.

AkcjaWejściaWyjścia
Konsumpcja Kafka—connected, message
Zamknięcie połączenia Kafka——

Konsumpcja subskrybuje przez grupę konsumentów zapisaną w żądaniu. Do publikowania służy Produkcja Kafka, akcja pojedyncza. Zob. Kafka.

AkcjaWejściaWyjścia
Połączenie gRPC—connected, message
Wysyłanie gRPCpayload—
Zamknięcie połączenia gRPC——

Dotyczy trybów server-stream, client-stream i bidirectional-stream: wysyłanie ma sens tylko w dwóch ostatnich, a zamknięcie wykonuje półzamknięcie po stronie klienta. Wywołanie unary realizuje się akcją Żądanie HTTP. Zob. gRPC.

AkcjaWejściaWyjścia
Subskrypcja GraphQL—connected, message
Anulowanie subskrypcji GraphQL——

Zob. GraphQL.