我正在构建一个分布式应用程序,它基于前端(阅读:面向网络)HTTP API,它调用底层(阅读:非面向网络)Thrift 服务。
例如,我可能有:
- 身份验证服务(包含身份验证代码)
- core-service(包含生成的 thrift 源和一些常见的类,例如服务发现和初始化逻辑)
所有单独的服务都依赖于核心服务,HTTP 面向 Web 的 API 也是如此。我现在将其作为一个多模块项目,但我希望每个项目都是分开的(并在他们自己的存储库中进行跟踪 - 尽管我知道我仍然可以通过多模块构建来做到这一点)。
tl;博士-
拥有一个单独构建然后推送到 maven 存储库(然后作为 jar 包含在其他项目中)的模块(核心服务)是一种常见的构建实践,还是在这种情况下做一个更好多模块项目?