Sari la conținut

Conexiuni și fluxuri

Aceste acțiuni vin în familii de câte două sau trei: conectare, trimitere, închidere. Conexiunea rămâne deschisă între cutii, ceea ce permite intercalarea altor apeluri la mijloc.

O acțiune de conexiune are două ieșiri:

IeșireEmisie
connectedUn semnal, o singură dată, la stabilirea conexiunii
messageO emisie pentru fiecare mesaj primit

Ea poartă un nume de conexiune (connectionName). Acțiunile de trimitere și de închidere desemnează apoi această conexiune prin identificatorul cutiei (connectionNodeId).

Tiparul clasic:

Conexiune MQTT ──connected──► Cerere HTTP (declanșează acțiunea de business)
└────────message─────► Assert (mesajul așteptat a sosit)
apoi ──► Închidere conexiune MQTT
AcțiuneIntrăriIeșiri
Conexiune WebSocket—connected, message (orice cadru primit)
Trimitere WebSocketpayload—
Închidere conexiune WebSocket——
Închidere server WebSocket——

Vedeți WebSocket.

AcțiuneIntrăriIeșiri
Conexiune Socket.IO—connected, câte un port event:<name> pentru fiecare eveniment declarat și others
Trimitere Socket.IOchannel, payload—
Închidere conexiune Socket.IO——
Închidere server Socket.IO——

Este singura acțiune de conexiune ale cărei ieșiri sunt configurabile: declarați lista evenimentelor care vă interesează și fiecare primește portul său. Orice eveniment nedeclarat ajunge pe others.

Vedeți Socket.IO.

AcțiuneIntrăriIeșiri
Conexiune MQTT—connected, message
Publicare MQTTpayload—
Închidere conexiune MQTT——

Conexiunea se abonează la subiectul cererii; trimiterea publică cu QoS și cu opțiunea de retenție configurate. Vedeți MQTT.

AcțiuneIntrăriIeșiri
Conexiune SSE—connected, message
Închidere conexiune SSE——

Numai în recepție: nu există o acțiune de trimitere. Vedeți SSE.

AcțiuneIntrăriIeșiri
Conexiune STOMP—connected, message
Trimitere STOMPpayload—
Închidere conexiune STOMP——

Conexiunea emite CONNECT, apoi câte un SUBSCRIBE pentru fiecare abonament configurat; trimiterea produce un cadru SEND; închiderea, un DISCONNECT. Vedeți STOMP.

AcțiuneIntrăriIeșiri
Conexiune AMQP—connected, message
Publicare AMQPpayload—
Închidere conexiune AMQP——

Conexiunea consumă coada cererii (modul subscribe); publicarea folosește exchange-ul și cheia sa de rutare. Vedeți AMQP.

AcțiuneIntrăriIeșiri
Abonare Redis—connected, message
Închidere conexiune Redis——

Pentru o comandă unitară, folosiți Comandă Redis, care este o acțiune cerere / răspuns — vedeți Cereri și compunere.

AcțiuneIntrăriIeșiri
Consum Kafka—connected, message
Închidere conexiune Kafka——

Consumul se abonează prin grupul de consumatori al cererii. Pentru a produce, folosiți Producție Kafka, o acțiune unitară. Vedeți Kafka.

AcțiuneIntrăriIeșiri
Conexiune gRPC—connected, message
Trimitere gRPCpayload—
Închidere conexiune gRPC——

Pentru modurile server-stream, client-stream și bidirectional-stream: trimiterea are sens numai pentru ultimele două, iar închiderea efectuează semi-închiderea de partea clientului. Un apel unary se face cu Cerere HTTP. Vedeți gRPC.

AcțiuneIntrăriIeșiri
Abonare GraphQL—connected, message
Dezabonare GraphQL——

Vedeți GraphQL.