如何管理多个项目的 JSON-Schemas?

How to manage JSON-Schemas for multiple projects?

假设您有一个在 UI-App(例如 Vue)、Node.js 或 Springboot 服务器中使用的架构,并且必须针对数据库(例如 SQL、 mongoDB,...),也许还有一些微服务 运行。

我如何以及在哪里管理这个 JSON-Schema,这样如果我出于任何原因必须更改模式,那么每个架构组件都可以处理新的 JSON-Schema(秒)。 否则我需要在最多 10 个项目中更新架构,因此 none 不兼容。

它真的像只包含 JSON-Schemas 的 git 项目一样简单,还是我需要为每个 language/environment 指定加载器? 是否有我不知道的最佳做法?

PS:我真的不认为我需要在运行时自动同步,所以不要真的认为我需要另一个微服务来实现它。 话虽这么说,如果微服务是最好的方式,那么获取微服务就是最好的方式。

如果将它们保存在 git 项目中,如何加载它们?每次应用程序启动时克隆项目?它可能有效,但我会采用更灵活的方法,该方法应该需要付出太多努力才能完成:

  • 构建一个 JSON 模式存储库,可通过 REST API
  • 访问
  • 当应用程序启动时,它会请求获取架构(最新或特定版本)

这样您就可以通过一种统一(且可扩展)的方式来处理模式。即使您将来某个时候考虑热重载,也可以利用这种方法来实现。

Here 是这个方向的一个老项目,你可以试一试看看它是否有效(或者至少获得一些灵感)