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/09/03, 10:09:04