Debezium 博客
尽管 Debezium 可以轻松捕获数据库更改并将其记录在 Kafka 中,但您必须做出的更重要的决定之一是如何在 Kafka 中序列化这些更改事件。Kafka 中的每个消息都有一个键和一个值,对于 Kafka 来说,它们是不透明的字节数组。但是,当您设置 Kafka Connect 时,您必须说明 Debezium 事件的键和值应如何序列化为二进制形式,并且您的消费者也必须将它们反序列化回可用的形式。
Debezium 事件的键和值都是结构化的,因此 JSON 当然是一个合理的选择——它灵活、无处不在且与语言无关,但另一方面,它相当冗长。一个替代方案是 Avro,它同样灵活且与语言无关,但速度更快,生成的二进制表示更小。使用 Avro 需要您进行更多的设置工作和一些额外的软件,但其优势通常是值得的。