在模式注册表中,消费者的模式可能与生产者的模式不同,实际上它意味着什么

问题描述 投票:0回答:1

在向Kafka生成AVRO数据时,Avro序列化程序在写入数据时使用的字节数组中编写相同的模式ID。

Kafka Consumer根据收到的字节数组中的模式ID从Schema Registry中获取模式。因此,在生产者和消费者中都使用相同的模式ID,因此模式也是如此。

但是为什么许多文章包括这个one说消费者的架构可能与生产者的不同。

请帮助我理解这一点。

apache-kafka avro kafka-producer-api confluent-schema-registry
1个回答
2
投票

Kafka Consumer根据架构ID从架构注册表中提取架构

只有你让解串器这样做。

您可以在使用者代码中定义自己的兼容模式。因此,它可能是不同的,并遵循Avro模式演化的规则

模式演化只发生在消费者的反序列化过程中(阅读)。如果使用者的模式与生成者的模式不同,则在反序列化期间会自动修改值或键,以便在可能的情况下符合使用者的读取模式。

© www.soinside.com 2019 - 2024. All rights reserved.