3.1 Avro序列化
Debezium 连接器在 Kafka Connect 框架中工作,通过生成变更事件记录来捕获数据库中的每个行级更改。对于每个变更事件记录,Debezium 连接器完成以下操作:
- 应用配置的转换。
- 使用配置的Kafka Connect 转换器将记录键和值序列化为二进制形式。
- 将记录写入正确的 Kafka 主题。
您可以为每个单独的 Debezium 连接器实例指定转换器。Kafka Connect 提供了一个 JSON 转换器,可将记录键和值序列化为 JSON 文档。默认行为是 JSON 转换器包含记录的消息schema,这使得每条记录都非常冗长。该Debezium教程展示了当payload和schemas两者都包含时记录看上去象什么。如果您希望使用 JSON 序列化记录,请考虑将以下连接器配置属性设置为false
:
key.converter.schemas.enable
value.converter.schemas.enable
将这些属性设置为false
从每条记录中排除冗长的schema信息。
或者,您可以使用Apache Avro序列化记录的键和值。Avro 二进制格式紧凑且高效。Avro schema可以确保每条记录都具有正确的结构。Avro 的schema演化机制使schema能够演化。这对于 Debezium 连接器至关重要,Debezium 连接器动态生成每个记录的schema以匹配已更改