Redis Streams Sink 集成
本文介绍如何将 FlowMQ 数据写入 Redis Streams。
前提条件
配置步骤
- 在“数据管道”中创建管道,完成基础信息配置。
- 在 Source 步骤选择
Kafka(Topic:flowmq.mqtt.kafka),Processors 按需配置。 - 在 Sink 步骤选择
Redis Streams,配置urls、stream等参数。 - 点击“测试”验证连接。
- 继续完成确认步骤。
配置示例
以下示例将 Kafka Topic flowmq.mqtt.kafka 中的样例消息写入目标系统。样例 JSON 与 Source 约定见 Sink · 示例场景。
可参考以下参数示例:
| 参数 | 建议值 |
|---|---|
| urls | host 127.0.0.1,port 6379(可选 database) |
| kind | simple |
| master | mymaster |
| stream | flowmq:mqtt:kafka |
| body_key | body |
| max_length | 0(不限制) |
写入内容为样例 JSON 消息体;也可用 Processors 先抽取
data.value等字段再写入。
必要表单参数
参数名后带 * 表示控制台必填。「支持表达式」为「是」时,可使用 ${! ... } 按消息动态取值,详见 Processors。
| 参数 | 支持表达式 | 说明 |
|---|---|---|
urls* | 否 | Redis 地址列表(每项含 host/port,可选 database) |
kind* | 否 | Redis 模式(simple/cluster/failover) |
master | 否 | Sentinel 主节点名。即便 kind 为 simple,也需填写非空值(如 mymaster),否则无法通过连通性校验 |
stream* | 是 | Stream 名称 |
body_key* | 否 | 消息体字段键名 |
max_length* | 否 | Stream 最大长度(0 表示不限制) |
max_in_flight* | 否 | 并发写入上限 |
参数建议
stream命名与业务域对应;可按消息动态生成max_length建议设置上限,避免无限增长
注意事项
- 建议限制 Stream 长度,并统一规划消费组与 ACK
- 即便
kind为simple,master也需填写非空值;urls中的库号字段名为database,勿使用db exclude_prefixes若出现空行,连通性「测试」按钮不会出现;可填一个无害前缀(如kafka_),或删掉空行后再测