【问题标题】:How to enforce Kafka consumer to use certain version of schema?如何强制 Kafka 消费者使用特定版本的模式?
【发布时间】:2021-11-12 01:36:21
【问题描述】:

我们有多个版本的主题架构,消息采用 AVRO 格式。

据我了解,当消费者收到 AVRO 消息时,消息本身包含一个 id,该 id 将用于从模式注册表中检索模式,并在本地缓存以供将来参考。

我很想知道是否有办法绕过这个 id 查找,并且总是使用一个预先获得的模式(例如最新的模式)来解析消费者端的所有消息?

我们使用的解串器是io.confluent.kafka.serializers.KafkaAvroDeserializer

【问题讨论】:

    标签: java apache-kafka kafka-consumer-api avro confluent-schema-registry


    【解决方案1】:

    use.latest.version=true 是序列化程序的一个配置选项,但没有使用特定版本的设置;我能想到的唯一方法是使用 ByteArrayDeserializer 进行消费,然后手动修改 ID,然后将该结果传递给 KafkaAvroDeserializer 以获取具有该特定模式 ID 的记录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-25
      • 2020-08-13
      • 2018-12-03
      • 2017-06-22
      • 2014-07-30
      • 2014-04-29
      相关资源
      最近更新 更多