架构注册表-融合的AvroSerializer / AvroDeserializer

时间:2018-11-29 16:20:18

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

基于我的理解

生产者:在Schema注册表的第一次调用中本地缓存为空,然后加载与要序列化的对象定义相关的schema。然后在本地缓存中生成外观,以检查缓存中是否已存在与要序列化的对象定义相对应的架构,如果不存在,它将向架构注册表请求。

消费者:每次AvroDeserlzier的本地缓存中没有模式ID时,模式注册表就会调用一次。

两个问题:

现在的问题是,如果假设没有在本地缓存中捕获模式,那么在生产者的序列化过程中,模式注册表将尝试多少次在本地存储模式注册表?

在使用者方面,每当没有在所有记录的AvroDeserlzier的本地缓存中存在模式ID时,模式注册表会调用吗?

1 个答案:

答案 0 :(得分:0)

如果无限缓存未命中,我相信HTTP调用将不断被调用以一次又一次地查找/发送ID,是的,但是在第一个请求/响应和( )序列化似乎不太可能,因为它们在代码中非常紧密地发生在一起。 (请注意,它是开源的,因此您也可以进行验证)