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

Other places to store Apache Avro schemas than the classpath

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

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

假设 App1 应该调用 App2,因此 App2 生成 DTO 架构,App1 将使用这些架构来使用其数据。我在哪里可以存储 App1 的架构,以便 App2 可以使用它们生成 Java 类 需要的。

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

我使用 Maven 和 Avro maven 插件。

非常感谢您的帮助。

您可以创建一个 APP_commons 服务来满足 avro 模式,其中包含生成每个 APP 所需的 values/data 的相应方法。

在APP1和APP2的pom中可以添加

APP_commons作为依赖。

希望对您有所帮助!你也可以使用假客户端。

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