当前位置: 首页 > 知识库问答 >
问题:

如果Kafka可以在没有它的情况下使用Avro,那么融合模式注册表有什么用

岳承悦
2023-03-14

vanilla apache Avro和带有confluent schema registry的Avro的区别在于,当使用apache Avro时,我们在kafka主题中发送schema消息,而在confluent schema registry中,我们在kafka主题中发送schemaID消息?所以在这里,schema registry通过在registry中查找schema来帮助提高性能。使用confluent schema registry还有其他好处吗?此外,ApacheAvro是否支持模式演化的兼容性规则,比如模式注册?

共有1个答案

许阿苏
2023-03-14

注意:还有一些“模式注册表”的实现可以与Kafka一起使用。

以下是一系列原因

  • 客户端可以在不与Kafka交互的情况下发现模式。例如,Apache Hive/Presto/Spark可以从注册表下载模式以执行分析。
  • 注册表集中负责兼容性检查,而不是推动每个客户端自行操作(回答您的第二个问题)

这同样适用于任何序列化格式,不仅仅是Avro

 类似资料:
  • 我试图使用confluent的模式注册表使我的应用程序工作,但此时我并不是生产者的完全控制者,你甚至可以将它们视为不绑定confluent产品的遗留应用程序。 我正在查看融合信息,似乎所有消息都应该在有效负载中包含一个魔法字节和模式ID https://docs.confluent.io/3.2.0/schema-registry/docs/serializer-formatter.html 或者

  • 我正在尝试使用Confluent schema registry,下面是我在Github中找到的一些示例(https://github.com/gAmUssA/springboot-kafka-avro). 当消费者和生产者与模型共享相同的命名空间而不是其工作时。 当使用者位于具有不同名称空间但具有相同类(名称和属性方面)的不同项目中时,它不工作。 合流Avro反序列化程序可以使用正确的值反序列化

  • 如果不是--如何修复?

  • 是否有在不使用模式注册表的情况下使用Avro规范记录模式的选项?

  • 如何使用Spring Kafka通过合流模式注册表读取AVRO消息?有样品吗?我在官方参考文件中找不到它。

  • 我现在一直在查看Spring Cloud模式注册表和汇合模式注册表。我可以看到一些区别,例如Spring Cloud模式注册表将模式保存在普通数据库中,默认情况下保存在h2中,而汇合模式注册表保存在kafka主题中。 spring云模式注册表的这种方法是否会对性能产生任何影响。据我所知,即使数据保留在主题上,以防汇合,查询它时仍然会有延迟。但会有重大影响吗? 我还可以看到,spring云模式注册表