微服务架构中的依赖管理

时间:2015-04-19 14:46:29

标签: git dependencies microservices

我构建了一个基于微服务架构的应用程序,我现在有两个服务,两个服务都有一些共同的代码。

传统的做法是什么? (不同的项目,模块等) 我还想了解如何在git存储库中处理它们(对于所有?对于每个?)

2 个答案:

答案 0 :(得分:0)

在过去的项目中,常见的依赖关系都在他们自己的模块中。在我的情况下,它通常是一个JAR打包的maven项目。

是否使用多模块maven项目或独立项目的决定取决于相关项目是否足够相似以适应一个多模块项目。我认为将公共代码放在自己的项目中可能会提供更大的灵活性。

将接口代码(处理HTTP的代码)与业务逻辑分开始终是一个好主意。从本质上讲,微服务就变成了一些HTTP接口代码,它将对象/数据传递给自己模块中的业务逻辑代码。然后,业务逻辑代码可以用于甚至可能与HTTP无关的其他项目,例如某个守护进程可能在某个地方进行清理或操作自动化任务。

答案 1 :(得分:0)

我觉得您应该将这两项服务合并在一起,使其成为一项服务。微服务架构背后的理念是服务应该能够彼此独立地部署并且是完全自治的。个人服务应该能够在不影响其客户的情况下改变/发展其实施。

如果听起来两个服务共享相同的代码库,那么对它的任何改变/改进都将导致部署两个服务,这两个服务是独立的,并且偏离微服务架构试图建立的前提。

相关问题