除类路径之外,其他存储Apache Avro模式的地方

2020-02-21 serialization deserialization avro avro-tools

也许有人已经问过这个问题,但经过一些搜索,我仍然找不到答案。

我有多个Spring Boot应用程序,它们应该通过事件流和REST调用相互通信。为了实现DTO的一致性,我想使用Apache Avro生成Java类,但是我不知道在哪里存储Avro模式。

假设App1应该调用App2,所以App2会生成DTO模式,App1将使用该模式来使用其数据。我可以在哪里存储App1的架构,以便App2可以将它们带到生成所需的Java类。

同样,App1在Redis上发布消息,而其他读取这些消息的应用程序则需要使用Avro模式将其反序列化为Java对象,如果将这些模式集中在某个地方,这将非常有用。

我使用Maven和Avro Maven插件。

非常感谢你的帮助。

Answers

您可以创建一个APP_commons服务,以迎合avro模式,该服务将包含生成每个APP所需的值/数据的相应方法。

可以将APP_commons作为依赖项添加到APP1和APP2的pom中。

希望这可以帮助!您也可以使用伪装客户。

我找到了这个Spring Cloud项目的解决方案https://github.com/spring-cloud/spring-cloud-schema-registry 它提供了我所需要的。

Related