avroschemastore&无中心注册表的版本控制

ruyhziif  于 2021-07-07  发布在  Java
关注(0)|答案(0)|浏览(190)

我对avro还比较陌生,但我很肯定我已经读过很多书,做过很多实验,了解它的工作原理。
我正在开发一个java分布式系统,其中avro模式由单个使用者定义。模式用于生成pojo,然后由生产者应用程序导入。由于我们的系统具有可变的发布节奏,不同的生产者应用程序可以使用模式的旧版本生成消息—这就是我们选择avro的原因。
由于我们在单个maven模块中定义和生成模式的方式,我们实际上不需要部署一个完整的注册表。我们没有需要为序列化或反序列化动态查找模式的用例。
我们实际需要的只是一个策略(和工具),它允许我们编写schemastore的实现,这个实现由类路径上的模式文件支持。该模块可以打包到maven包中并导入到producer应用程序中。
有人知道允许我们管理模式文件的多个版本、跟踪版本号和自动生成pojo类的方法或工具吗?
我在想象一个有点像旧版maven插件的东西。我们在代码中提交了模式的“当前”版本。当我们想要进行更改时,我们会更改这个文件,然后运行插件,该插件会自动将其提交为新版本并生成新的pojo。旧版本被维护并在代码中提交,以便schemastore仍然可以使用它。
值得注意的是,我们没有使用Kafka或任何其他类型的流媒体系统。所有消息都使用普通的旧rest端点发送,并使用单对象编码序列化(因此它们包含模式指纹)
我希望这一切都有意义。任何帮助都将不胜感激!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题