代码之家  ›  专栏  ›  技术社区  ›  Karthikeyan Rasipalay Durairaj

架构注册表-汇合AvroSerializer/AvroDeserializer

  •  0
  • Karthikeyan Rasipalay Durairaj  · 技术社区  · 7 年前

    基于我的理解

    Producer:架构注册表的第一次调用本地缓存是空的。然后已加载与要序列化的对象定义相关的架构。然后在本地缓存中生成查找,以检查缓存中是否已存在与要序列化的对象定义相对应的架构,如果不存在,则会请求架构注册表。

    使用者:每当架构ID不在AvroDeserlzier的本地缓存中时,架构注册表将调用。

    两个问题:

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

    在使用者端,架构注册表将在每次架构ID不在AvroDeserlzier的本地缓存中时调用所有记录?

    1 回复  |  直到 7 年前
        1
  •  0
  •   OneCricketeer Gabriele Mariotti    7 年前

    如果您有无限的缓存未命中,我相信HTTP调用将不断被调用以一次又一次地查找/发送ID,是的,但是架构在第一个请求/响应和(反)序列化之间没有被缓存的可能性似乎不大,因为它们发生在非常接近的代码中。(注意,它是开源的,所以您也可以验证它)