数据库结果推送到消息队列
适用版本:1.0.0。任务 → 新增/编辑 → 插件 PUSH。
入口与准备
使用 ADMIN 创建、配置和保存任务;ADMIN 或 OPERATOR 可以执行已发布定义,详细日志和输入输出变量由 ADMIN 查看。资源必须启用并可被执行节点访问。任务公共超时、重试和版本规则见任务,角色动作见权限矩阵。
字段说明
“默认值”指 1.0.0 新建表单的初始值;空表示尚未填写,不表示必填项可以省略。显示条件决定当前分支中是否出现字段。“条件必填”只在对应分支启用时要求填写。
来源与目标
| 字段 | 是否必填 | 默认值 | 显示条件 | 作用范围 |
|---|---|---|---|---|
| 数据库资源 | 必填 | 无 | 始终 | 当前任务版本 |
| 查询 SQL | 必填 | 空 | 始终 | 当前任务版本 |
| 目标类型 | 选择 | KAFKA | 始终 | 当前任务版本 |
| 目标资源 | 必填 | 无 | 始终 | 当前任务版本 |
| Topic(主题) | 条件必填 | 空 | Kafka | 当前任务版本 |
| Exchange(交换机) | 条件必填 | 空字符串允许 | RabbitMQ | 当前任务版本 |
| Routing key(路由键) | 条件必填 | 空 | RabbitMQ | 当前任务版本 |
| 序列化 | 固定支持 | json | 始终 | 当前任务版本 |
| 消息压缩 | 选择 | none | 始终 | 当前任务版本 |
- 数据库资源:提供查询业务数据的数据库连接。
- 查询 SQL:使用只读 SQL 取得待发布的业务记录。
- 目标类型:选择 Kafka 或 RabbitMQ 目标。
- 目标资源:提供目标消息服务的连接与认证。
- Topic(主题):指定 Kafka 目标主题。
- Exchange(交换机):指定 RabbitMQ 交换机;空字符串表示默认交换机。
- Routing key(路由键):指定 RabbitMQ 发布路由键。
- 序列化:将每条业务记录序列化为 JSON。
- 消息压缩:选择消息载荷不压缩或使用 gzip。
批次与限制
| 字段 | 是否必填 | 默认值 | 显示条件 | 作用范围 |
|---|---|---|---|---|
| 读取批量 | 有默认值 | 500 | 高级配置 | 当前任务版本 |
| 发布缓冲批量 | 有默认值 | 500 | 高级配置 | 当前任务版本 |
| 最大发送窗口 | 有默认值 | 500 | 高级配置 | 当前任务版本 |
| 窗口等待超时(秒) | 有默认值 | 60 | 高级配置 | 当前任务版本 |
| 消息发送重试次数 | 有默认值 | 3 | 高级配置 | 当前任务版本 |
| 单条载荷上限(字节) | 有默认值 | 1048576 | 高级配置 | 当前任务版本 |
| 消息数量上限 | 有默认值 | 1000000 | 高级配置 | 当前任务版本 |
| 总载荷上限(字节) | 有默认值 | 1073741824 | 高级配置 | 当前任务版本 |
- 读取批量:1–10000。
- 发布缓冲批量:1–10000。
- 最大发送窗口:1–10000。
- 窗口等待超时(秒):1–3600。
- 消息发送重试次数:0–10;retryTimes 是消息窗口重试,不是任务公共重试。
- 单条载荷上限(字节):1024–16777216。
- 消息数量上限:1–100000000。
- 总载荷上限(字节):1024–107374182400。
使用边界
- SQL 必须是只读查询;serializer 仅 json,compression none/gzip。
- PUSH 发布业务消息,不等于运行结果通知。
- 发布确认不等于下游完成处理,使用稳定业务键去重。
典型配置:发布订单数据到 Kafka
按下表填写界面,资源名称需替换为自己的已启用资源。这是配置说明,不是可直接导入的 JSON。完整数据准备与执行步骤见本节末尾教程。
先准备三行orders数据、专属空主题以及可核对内容的独立消费者;只观察任务SUCCESS不足以证明下游收到消息。
| 配置项 | 填写内容 |
|---|---|
| 数据库资源 | 订单业务库 |
| 查询 SQL | 见下方代码 |
| 目标类型 | KAFKA |
| 目标资源 | 独立 Kafka 资源 |
| Topic(主题) | docs-orders |
| 序列化 | json |
| 消息压缩 | none |
查询 SQL:
SELECT id, amount FROM orders ORDER BY id
预期结果: 独立消费者读取 3 条业务记录,id 和 amount 与源一致;不能只看发布成功。
跟做完整教程。保存定义后再手动执行;实例状态与业务结果分别核对。
技术字段对照
以下键名用于导入配置、接口或排障。规则中的 [] 表示集合元素;不需要把这些键名填入界面标签。
| 类别 / 字段 | 技术键名 |
|---|---|
| 来源与目标 / 数据库资源 | sourceResourceId |
| 来源与目标 / 查询 SQL | sql |
| 来源与目标 / 目标类型 | target.type |
| 来源与目标 / 目标资源 | target.resourceId |
| 来源与目标 / Topic(主题) | target.properties.topic |
| 来源与目标 / Exchange(交换机) | target.properties.exchange |
| 来源与目标 / Routing key(路由键) | target.properties.routingKey |
| 来源与目标 / 序列化 | serializer |
| 来源与目标 / 消息压缩 | compression |
| 批次与限制 / 读取批量 | fetchSize |
| 批次与限制 / 发布缓冲批量 | batchSize |
| 批次与限制 / 最大发送窗口 | maxInflight |
| 批次与限制 / 窗口等待超时(秒) | publishTimeoutSeconds |
| 批次与限制 / 消息发送重试次数 | retryTimes |
| 批次与限制 / 单条载荷上限(字节) | maxMessageBytes |
| 批次与限制 / 消息数量上限 | maxMessages |
| 批次与限制 / 总载荷上限(字节) | maxTotalPayloadBytes |