保持微服务架构的精神,我正在考虑使用git存储库为我的基于Scala + Akka的系统的每个服务.每个服务的构建产生一个工件,该工件被发布到包装系统(例如maven)repo.这些工件是用于共享公共代码的机制.
现在,由于在服务之间使用案例类进行消息传递,因此需要在任何地方都可以使用相同的类版本.使用多项目构建将接口和实现工件中的每个服务分开,然后仅从依赖项目中导入接口工件是否有利?一些替代方案是在同一工件上包含接口和实现并导入它,或者为接口和实现提供单独的存储库,这似乎是过度的,可能是过多的开销.