З'єднання та потоки
Ці дії йдуть родинами по дві чи три: під’єднати, надіслати, закрити. З’єднання залишається відкритим між блоками, і це дає змогу вплітати посередині інші виклики.
Спільний шаблон
Section titled “Спільний шаблон”Дія з’єднання має два виходи:
| Вихід | Емісія |
|---|---|
connected | Сигнал, один раз, при встановленні з’єднання |
message | Одна емісія на кожне отримане повідомлення |
Вона має ім’я з’єднання (connectionName). Далі дії надсилання та закриття
позначають це з’єднання за ідентифікатором його блоку (connectionNodeId).
Класичний шаблон:
З'єднання MQTT ──connected──► Запит HTTP (запустити предметну дію) └────────message─────► Assert (очікуване повідомлення надійшло) потім ──► Закриття з'єднання MQTTWebSocket
Section titled “WebSocket”| Дія | Входи | Виходи |
|---|---|---|
| З’єднання WebSocket | — | connected, message (будь-який отриманий кадр) |
| Надсилання WebSocket | payload | — |
| Закриття з’єднання WebSocket | — | — |
| Закриття сервера WebSocket | — | — |
Див. WebSocket.
Socket.IO
Section titled “Socket.IO”| Дія | Входи | Виходи |
|---|---|---|
| З’єднання Socket.IO | — | connected, по порту event:<ім'я> на кожну оголошену подію та others |
| Надсилання Socket.IO | channel, payload | — |
| Закриття з’єднання Socket.IO | — | — |
| Закриття сервера Socket.IO | — | — |
Це єдина дія з’єднання, чиї виходи можна налаштовувати: оголосіть перелік
подій, які вас цікавлять, і кожна отримає свій порт. Будь-яка неоголошена подія
надходить на others.
Див. Socket.IO.
| Дія | Входи | Виходи |
|---|---|---|
| З’єднання MQTT | — | connected, message |
| Публікація MQTT | payload | — |
| Закриття з’єднання MQTT | — | — |
З’єднання підписується на тему запиту; надсилання публікує з налаштованими QoS та утриманням. Див. MQTT.
| Дія | Входи | Виходи |
|---|---|---|
| З’єднання SSE | — | connected, message |
| Закриття з’єднання SSE | — | — |
Лише на приймання: дії надсилання немає. Див. SSE.
| Дія | Входи | Виходи |
|---|---|---|
| З’єднання STOMP | — | connected, message |
| Надсилання STOMP | payload | — |
| Закриття з’єднання STOMP | — | — |
З’єднання надсилає CONNECT, а потім по одному SUBSCRIBE на кожну
налаштовану підписку; надсилання створює кадр SEND; закриття —
DISCONNECT. Див. STOMP.
| Дія | Входи | Виходи |
|---|---|---|
| З’єднання AMQP | — | connected, message |
| Публікація AMQP | payload | — |
| Закриття з’єднання AMQP | — | — |
З’єднання споживає чергу запиту (режим subscribe); публікація використовує
його обмін і ключ маршрутизації. Див. AMQP.
| Дія | Входи | Виходи |
|---|---|---|
| Підписка Redis | — | connected, message |
| Закриття з’єднання Redis | — | — |
Для одиничної команди є Команда Redis — це дія «запит / відповідь», див. Запити та композиція.
| Дія | Входи | Виходи |
|---|---|---|
| Споживання Kafka | — | connected, message |
| Закриття з’єднання Kafka | — | — |
Споживання підписується через групу споживачів із запиту. Щоб виробляти, є Виробництво Kafka — одинична дія. Див. Kafka.
Потоковий gRPC
Section titled “Потоковий gRPC”| Дія | Входи | Виходи |
|---|---|---|
| З’єднання gRPC | — | connected, message |
| Надсилання gRPC | payload | — |
| Закриття з’єднання gRPC | — | — |
Для режимів server-stream, client-stream і bidirectional-stream:
надсилання має сенс лише для двох останніх, а закриття виконує напівзакриття з
боку клієнта. Унарний виклик (unary) робиться через Запит HTTP. Див.
gRPC.
Підписки GraphQL
Section titled “Підписки GraphQL”| Дія | Входи | Виходи |
|---|---|---|
| Підписка GraphQL | — | connected, message |
| Скасування підписки GraphQL | — | — |
Див. GraphQL.