连接与流
这些动作以两个或三个为一组成套出现:连接、发送、关闭。 连接在各个节点之间保持打开,因此可以在中途穿插别的调用。
一个连接类动作有两个输出:
| 输出 | 发出时机 |
|---|---|
connected | 一个信号,在连接建立时发出一次 |
message | 每收到一条消息发出一次 |
它带有一个连接名称(connectionName)。之后,发送动作和关闭动作通过节点标识
(connectionNodeId)来指定这个连接。
经典的模式如下:
MQTT 连接 ──connected──► HTTP 请求(触发业务动作) └────────message─────► Assert(期待的消息确实到了) 然后 ──► MQTT 关闭连接WebSocket
Section titled “WebSocket”| 动作 | 输入 | 输出 |
|---|---|---|
| WebSocket 连接 | — | connected、message(任何收到的帧) |
| WebSocket 发送 | payload | — |
| WebSocket 关闭连接 | — | — |
| 关闭 WebSocket 服务器 | — | — |
参见 WebSocket。
Socket.IO
Section titled “Socket.IO”| 动作 | 输入 | 输出 |
|---|---|---|
| Socket.IO 连接 | — | connected、每个已声明的事件一个 event:<name> 端口,以及 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。