在向Kafka生成AVRO数据时,Avro序列化程序在写入数据时使用的字节数组中编写相同的模式ID。
Kafka Consumer根据收到的字节数组中的模式ID从Schema Registry中获取模式。因此,在生产者和消费者中都使用相同的模式ID,因此模式也是如此。
但是为什么许多文章包括这个one说消费者的架构可能与生产者的不同。
请帮助我理解这一点。
Kafka Consumer根据架构ID从架构注册表中提取架构
只有你让解串器这样做。
您可以在使用者代码中定义自己的兼容模式。因此,它可能是不同的,并遵循Avro模式演化的规则
模式演化只发生在消费者的反序列化过程中(阅读)。如果使用者的模式与生成者的模式不同,则在反序列化期间会自动修改值或键,以便在可能的情况下符合使用者的读取模式。