NSQ客户端
x/nsqClient
组件:v0.33.0+ NSQ生产者组件。用于将消息发布到NSQ指定主题。
# 配置
该组件支持通过server
字段复用共享的NSQ连接客户端,避免重复创建连接。详见组件连接复用。
字段 | 类型 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
server | string | 是 | NSQ服务器地址,支持多种格式: 1. 单个nsqd: "127.0.0.1:4150" 2. 多个nsqd: "127.0.0.1:4150,127.0.0.1:4151" 3. lookupd地址: "http://127.0.0.1:4161,http://127.0.0.1:4162" | 127.0.0.1:4150 |
topic | string | 是 | 发布主题,支持使用组件配置变量进行动态配置 | device_msg |
authToken | string | 否 | NSQ鉴权令牌 | 无 |
certFile | string | 否 | TLS证书文件路径 | 无 |
certKeyFile | string | 否 | TLS私钥文件路径 | 无 |
# 工作原理
- 组件初始化时会根据配置连接到NSQ服务器
- 支持连接到单个或多个nsqd实例,也支持通过lookupd发现nsqd
- 接收到消息后,将消息内容发布到指定的topic
- 发布成功后通过Success链路由,失败则通过Failure链路由
- 组件会自动管理连接的生命周期,包括重连等
# Relation Type
- Success: 以下情况消息发送到
Success
链路:- 消息成功发布到NSQ服务器
- 收到NSQ服务器确认
- Failure: 以下情况消息发送到
Failure
链路:- 连接NSQ服务器失败
- 发布消息失败
- 配置参数错误
- TLS证书加载失败
# 执行结果
组件执行完成后:
- msg.data保持不变
- metadata保持不变
- msgType保持不变
# 配置示例
{
"id": "s5",
"type": "x/nsqClient",
"name": "发布到NSQ",
"debugMode": true,
"configuration": {
"server": "127.0.0.1:4150",
"topic": "device.msg.${deviceType}",
"authToken": "your-auth-token"
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 应用示例
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/07/22, 15:00:05