我们需要手动缓存架构注册表吗?

Do we need to manually cache schema registry?

我们目前使用 Protocol Buffers 作为 kafak 消息的序列化机制。我们将搬到 Avro。我们使用 Schema Registry 测试了 Avro Confluent 消费者,根据这些测试,Avro 消费者与 protobuff 消费者相比有点慢。

我的问题是我们需要手动兑现模式还是 Python AvroConsumer 自行处理兑现? 我正在使用 confluent_kafka AvroConsumer。

我前段时间遇到了同样的问题,当你从 Google protobuf 移动到 Avro 之类的东西时, 额外的延迟+ 架构注册表。

您绝对可以选择手动缓存模式。然而,大多数与 SchemaRegistry 对话的体面的 kafka 客户端应该已经这样做了。至少,Confluent 的 Java kafka 客户端会自动执行此操作。因此,它必须向模式注册表发送请求的唯一时间是遇到它尚未看到的模式版本时。