連線與串流
這些動作都是兩三個一組:連線、傳送、關閉。連線會在各個節點之間保持 開啟,所以中間還能夾進別的呼叫。
一個連線動作有兩個輸出:
| 輸出 | 發出時機 |
|---|---|
connected | 一個訊號,在連線建立時發出一次 |
message | 每收到一則訊息就發出一次 |
它帶有一個連線名稱(connectionName)。之後的傳送與關閉動作,就用節點識別碼
(connectionNodeId)指定這條連線。
典型的模式:
MQTT connect ──connected──► HTTP 請求(觸發業務動作) └────────message─────► Assert(預期的訊息已送達) 然後 ──► 關閉 MQTT 連線WebSocket
Section titled “WebSocket”| 動作 | 輸入 | 輸出 |
|---|---|---|
| WebSocket 連線 | — | connected、message(收到的任何訊框) |
| WebSocket send | payload | — |
| 關閉 WebSocket 連線 | — | — |
| 關閉 WebSocket 伺服器 | — | — |
請參閱 WebSocket。
Socket.IO
Section titled “Socket.IO”| 動作 | 輸入 | 輸出 |
|---|---|---|
| Socket.IO 連線 | — | connected、每個已宣告的事件一個 event:<name> 連接埠,以及 others |
| Socket.IO send | channel、payload | — |
| 關閉 Socket.IO 連線 | — | — |
| 關閉 Socket.IO 伺服器 | — | — |
這是唯一輸出可自行設定的連線動作:您宣告一份感興趣的事件清單,每個事件就各得
一個連接埠。凡是沒宣告的事件都會落在 others 上。
請參閱 Socket.IO。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| MQTT connect | — | connected、message |
| MQTT publish | payload | — |
| 關閉 MQTT 連線 | — | — |
連線會訂閱該請求的主題;傳送則會依設定的 QoS 與 Retain 選項發佈。請參閱 MQTT。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| SSE 連線 | — | connected、message |
| 關閉 SSE 連線 | — | — |
只收不送:沒有對應的傳送動作。請參閱 SSE。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| STOMP 連線 | — | connected、message |
| STOMP 傳送 | payload | — |
| 關閉 STOMP 連線 | — | — |
連線會先送出 CONNECT,再為每個已設定的訂閱各送一個 SUBSCRIBE;傳送會產生一個
SEND 訊框;關閉則送出 DISCONNECT。請參閱
STOMP。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| AMQP 連線 | — | connected、message |
| AMQP 發布 | payload | — |
| 關閉 AMQP 連線 | — | — |
連線會消費該請求的佇列(subscribe 模式);發布則使用它的 Exchange 與路由金鑰。
請參閱 AMQP。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| Redis subscribe | — | connected、message |
| 關閉 Redis 連線 | — | — |
若只要下一道單獨的命令,那是 Redis command,屬於請求/回應型的動作 — 請參閱 請求與組合。
| 動作 | 輸入 | 輸出 |
|---|---|---|
| Kafka consume | — | connected、message |
| 關閉 Kafka 連線 | — | — |
消費端會透過該請求的消費者群組訂閱。要產生訊息則是 Kafka produce,那是一次性 的動作。請參閱 Kafka。
gRPC 串流
Section titled “gRPC 串流”| 動作 | 輸入 | 輸出 |
|---|---|---|
| gRPC connect | — | connected、message |
| gRPC send | payload | — |
| 關閉 gRPC 連線 | — | — |
適用於 server-stream、client-stream 和 bidirectional-stream 三種模式:傳送
只對後兩者有意義,關閉則執行用戶端側的半關閉。unary 呼叫請用
HTTP 請求。請參閱 gRPC。
GraphQL 訂閱
Section titled “GraphQL 訂閱”| 動作 | 輸入 | 輸出 |
|---|---|---|
| GraphQL 訂閱 | — | connected、message |
| GraphQL 取消訂閱 | — | — |
請參閱 GraphQL。