Connexions et flux
Ces actions vont par familles de deux ou trois : connecter, envoyer, fermer. La connexion reste ouverte entre les boîtes, ce qui permet d’entrelacer d’autres appels au milieu.
Le motif commun
Section titled “Le motif commun”Une action de connexion a deux sorties :
| Sortie | Émission |
|---|---|
connected | Un signal, une fois, à l’établissement de la connexion |
message | Une émission par message reçu |
Elle porte un nom de connexion (connectionName). Les actions d’envoi et
de fermeture désignent ensuite cette connexion par son identifiant de boîte
(connectionNodeId).
Le motif classique :
Connexion MQTT ──connected──► Requête HTTP (déclencher l'action métier) └────────message─────► Assert (le message attendu est arrivé) puis ──► Fermeture connexion MQTTWebSocket
Section titled “WebSocket”| Action | Entrées | Sorties |
|---|---|---|
| Connexion WebSocket | — | connected, message (toute trame reçue) |
| Envoi WebSocket | payload | — |
| Fermeture connexion WebSocket | — | — |
| Fermeture serveur WebSocket | — | — |
Voir WebSocket.
Socket.IO
Section titled “Socket.IO”| Action | Entrées | Sorties |
|---|---|---|
| Connexion Socket.IO | — | connected, un port event:<nom> par événement déclaré, et others |
| Envoi Socket.IO | channel, payload | — |
| Fermeture connexion Socket.IO | — | — |
| Fermeture serveur Socket.IO | — | — |
C’est la seule action de connexion dont les sorties sont configurables :
déclarez la liste des événements qui vous intéressent et chacun obtient son
port. Tout événement non déclaré arrive sur others.
Voir Socket.IO.
| Action | Entrées | Sorties |
|---|---|---|
| Connexion MQTT | — | connected, message |
| Publication MQTT | payload | — |
| Fermeture connexion MQTT | — | — |
La connexion s’abonne au sujet de la requête ; l’envoi publie avec la QoS et l’option de rétention configurées. Voir MQTT.
| Action | Entrées | Sorties |
|---|---|---|
| Connexion SSE | — | connected, message |
| Fermeture connexion SSE | — | — |
En réception seule : il n’y a pas d’action d’envoi. Voir SSE.
| Action | Entrées | Sorties |
|---|---|---|
| Connexion STOMP | — | connected, message |
| Envoi STOMP | payload | — |
| Fermeture connexion STOMP | — | — |
La connexion émet le CONNECT puis un SUBSCRIBE par abonnement configuré ;
l’envoi produit une trame SEND ; la fermeture un DISCONNECT. Voir
STOMP.
| Action | Entrées | Sorties |
|---|---|---|
| Connexion AMQP | — | connected, message |
| Publication AMQP | payload | — |
| Fermeture connexion AMQP | — | — |
La connexion consomme la file de la requête (mode subscribe) ; la publication
utilise son échange et sa clé de routage. Voir
AMQP.
| Action | Entrées | Sorties |
|---|---|---|
| Abonnement Redis | — | connected, message |
| Fermeture connexion Redis | — | — |
Pour une commande unitaire, c’est Commande Redis, qui est une action requête / réponse — voir Requêtes et composition.
| Action | Entrées | Sorties |
|---|---|---|
| Consommation Kafka | — | connected, message |
| Fermeture connexion Kafka | — | — |
La consommation s’abonne via le groupe de consommateurs de la requête. Pour produire, c’est Production Kafka, une action unitaire. Voir Kafka.
gRPC en flux
Section titled “gRPC en flux”| Action | Entrées | Sorties |
|---|---|---|
| Connexion gRPC | — | connected, message |
| Envoi gRPC | payload | — |
| Fermeture connexion gRPC | — | — |
Pour les modes server-stream, client-stream et bidirectional-stream :
l’envoi n’a de sens que pour les deux derniers, la fermeture effectue la
demi-fermeture côté client. Un appel unary se fait avec Requête HTTP.
Voir gRPC.
Abonnements GraphQL
Section titled “Abonnements GraphQL”| Action | Entrées | Sorties |
|---|---|---|
| Abonnement GraphQL | — | connected, message |
| Désabonnement GraphQL | — | — |
Voir GraphQL.