使用 Avro 对象发送数据,使用模式注册表有优势吗?
Sending data using Avro objects, is there an advantage to using schema registry?
我有一个应用程序,我在其中使用 AVSC 文件生成 avro 对象,然后使用它们生成对象。如果我愿意,我可以在另一个应用程序中使用相同的模式,在那里生成 pojo。这是通过 Avro 插件完成的。我注意到的是模式注册表中不存在该模式。
我想如果我改变我的制作人 type/settings 它可能会在那里创建它(我正在使用 kafka spring)。把它放在那里有什么好处吗,我现在正在做的只是数据的序列化,这是否与从数据创建 GSON 对象并生成它们一样?
注册表中没有模式是不是不好的做法?
要回答这个问题,"is there an advantage" - 是的。至少,它允许其他应用程序发现主题中包含的内容,无论它是否是另一个使用 Spring 的 Java 应用程序。
您不需要将架构包含在消费者代码库中
你说你正在使用 Confluent 序列化器,但是没有办法 "skip" 模式注册,所以模式应该默认在 "your_topic-value"
下的注册表中
我有一个应用程序,我在其中使用 AVSC 文件生成 avro 对象,然后使用它们生成对象。如果我愿意,我可以在另一个应用程序中使用相同的模式,在那里生成 pojo。这是通过 Avro 插件完成的。我注意到的是模式注册表中不存在该模式。
我想如果我改变我的制作人 type/settings 它可能会在那里创建它(我正在使用 kafka spring)。把它放在那里有什么好处吗,我现在正在做的只是数据的序列化,这是否与从数据创建 GSON 对象并生成它们一样?
注册表中没有模式是不是不好的做法?
要回答这个问题,"is there an advantage" - 是的。至少,它允许其他应用程序发现主题中包含的内容,无论它是否是另一个使用 Spring 的 Java 应用程序。
您不需要将架构包含在消费者代码库中
你说你正在使用 Confluent 序列化器,但是没有办法 "skip" 模式注册,所以模式应该默认在 "your_topic-value"
下的注册表中