Pular para o conteúdo

Ligações e fluxos

Estas ações agrupam-se em famílias de duas ou três: ligar, enviar, fechar. A ligação permanece aberta entre as caixas, o que permite entrelaçar outras chamadas pelo meio.

Uma ação de ligação tem duas saídas:

SaídaEmissão
connectedUm sinal, uma vez, quando a ligação é estabelecida
messageUma emissão por cada mensagem recebida

Tem um nome de ligação (connectionName). As ações de envio e de fecho designam depois essa ligação pelo identificador da respetiva caixa (connectionNodeId).

O encadeamento clássico:

Ligação MQTT ──connected──► Pedido HTTP (acionar a ação de negócio)
└────────message─────► Assert (a mensagem esperada chegou)
depois ──► Fecho da ligação MQTT
AçãoEntradasSaídas
Ligação WebSocket—connected, message (qualquer trama recebida)
Envio WebSocketpayload—
Fecho da ligação WebSocket——
Fecho do servidor WebSocket——

Consulte WebSocket.

AçãoEntradasSaídas
Ligação Socket.IO—connected, uma porta event:<name> por cada evento declarado, e others
Envio Socket.IOchannel, payload—
Fecho da ligação Socket.IO——
Fecho do servidor Socket.IO——

É a única ação de ligação cujas saídas são configuráveis: declare a lista dos eventos que lhe interessam e cada um recebe a sua porta. Qualquer evento não declarado chega a others.

Consulte Socket.IO.

AçãoEntradasSaídas
Ligação MQTT—connected, message
Publicação MQTTpayload—
Fecho da ligação MQTT——

A ligação subscreve o tópico do pedido; o envio publica com a QoS e a opção de retenção configuradas. Consulte MQTT.

AçãoEntradasSaídas
Ligação SSE—connected, message
Fecho da ligação SSE——

Apenas em receção: não existe ação de envio. Consulte SSE.

AçãoEntradasSaídas
Ligação STOMP—connected, message
Envio STOMPpayload—
Fecho da ligação STOMP——

A ligação emite o CONNECT e depois um SUBSCRIBE por cada subscrição configurada; o envio produz uma trama SEND; o fecho, um DISCONNECT. Consulte STOMP.

AçãoEntradasSaídas
Ligação AMQP—connected, message
Publicação AMQPpayload—
Fecho da ligação AMQP——

A ligação consome a fila do pedido (modo subscribe); a publicação utiliza o respetivo exchange e a sua chave de encaminhamento. Consulte AMQP.

AçãoEntradasSaídas
Subscrição Redis—connected, message
Fecho da ligação Redis——

Para um comando isolado, existe Comando Redis, que é uma ação de pedido / resposta — consulte Pedidos e composição.

AçãoEntradasSaídas
Consumo Kafka—connected, message
Fecho da ligação Kafka——

O consumo subscreve através do grupo de consumidores do pedido. Para produzir, existe Produção Kafka, uma ação isolada. Consulte Kafka.

AçãoEntradasSaídas
Ligação gRPC—connected, message
Envio gRPCpayload—
Fecho da ligação gRPC——

Para os modos server-stream, client-stream e bidirectional-stream: o envio só faz sentido nos dois últimos e o fecho realiza o meio-fecho do lado do cliente. Uma chamada unary faz-se com Pedido HTTP. Consulte gRPC.

AçãoEntradasSaídas
Subscrição GraphQL—connected, message
Cancelar subscrição GraphQL——

Consulte GraphQL.