跳到主要内容
版本:2.x

Kafka

请遵循以下说明以确保在 Tapdata 中成功添加和使用 Kafka 数据库。

使用限制​

  • 仅支持 JSON Object 字符串的消息格式 (如 {"id":1, "name": "张三"})
  • 提前创建好主题
  • kafka 版本 2.3.x
  • 如果选择忽略消费或推送异常, 则仍然会记录这些消息的offset, 即是后续不会推送这些消息,存在数据丢失风险
  • 消息推送实现为 At least once , 对应的消费端要做好幂等操作

同步模式​

仅全量

该模式下 Source 会从主题的各个分区 earliest offset 开始订阅消费。 如果之前存在消息消费记录,则会恢复到之前的 offset 开始消费

仅增量

该模式下 Source 会从主题的各个分区 latest offset 开始订阅消费。 如果之前存在消息消费记录,则会恢复到之前的 offset 开始消费

全量 + 增量

该模式下 Source 会跳过全量同步阶段,从增量阶段开始。

  • 如果没有进行过全量同步,则会从主题的各个分区 earliest offset 开始订阅消费
  • 否则从主题的各个分区 latest offset 开始订阅消费。
  • 如果之前存在消息消费记录,则会恢复到之前的 offset 开始消费

节点连接​

sourcetarget是否可链接
kafkaelasticsearch是
kafkaredis是
kafkatable是
kafkacollection是
kafkamemory是
elasticsearchkafka是
tablekafka是
rediskafka是
collectionkafka是
memorykafka是

数据迁移​

sourcetarget是否可链接
kafkamysql是
kafkaoracle是
kafkamongodb是
kafkadb2是
kafkapostgres是
kafkamssql是
kafkaBase 8s是
kafkaSybase ASE是
mysqlkafka是
oraclekafka是
mongodbkafka是
db2kafka是
postgreskafka是
Sybase ASEkafka是
Base 8skafka是
mssqlkafka是

配置​

公共配置​

字段名 (UI表单参数名)类型是否必填备注校验UI 表单字段 名称UI 表单 字段组件
kafkaBootstrapServersString是Borker地址列表host1:port,host2:port,host3:port
例如192.168.1.1:9092,192.168.1.2:9092,192.168.1.3:9092
主机列表<input type="text" />
databaseTypeString是数据库类型固定值: kafka无<input type="hidden" />
connection_typeString是链接类型枚举值: source | target | source_and_target链接类型<select />
kafkaPatternTopicsString是主题名称正则表达式,文本长度大于0,小于256主题正则表达式<input type="text" />

Source (Kafka Consumer)​

字段名 (UI表单参数名)类型是否必填备注默认值校验UI 表单字段 名称UI 表单 字段组件
kafkaIgnoreInvalidRecordBoolean否是否忽略非JSON Object格式消息, 如果是则遇到解析异常会忽略该消息,否则停止拉取消息false枚举值: true | false忽略非JSON格式消息<select />

Target (Kafka Producer)​

字段名 (UI表单参数名)类型是否必填备注默认值校验UI 表单字段 名称UI 表单 字段组件
kafkaAcksString否ACK确认机制, "0": 不确认, "1": 仅写入master分区, "-1": 写入大多数ISR分区, "all": 写入所有ISR分区-1枚举值: "0" | "1" | "-1" | "all"消息推送ACK<select />
kafkaCompressionTypeString否消息压缩类型: gzip, snappy, lz4, zstd. 大流量消息开启压缩可以提高传输效率.-枚举值: "gzip" | "snappy" | "lz4" | "zstd"消息推送压缩方式<select />
kafkaIgnorePushErrorBoolean否是否忽略推送消息异常, 如果是则忽略该次推送的消息 (存在消息丢失),否则停止推送消息false枚举值: true | false消息推送忽略异常<select />