秉承微服务架构的精神,我正在考虑为基于 Scala+Akka 的系统的每个服务使用一个 git 存储库。每个服务的构建都会生成一个发布到打包系统(例如 maven)存储库的工件。这些工件是用于共享公共(public)代码的机制。
现在,由于使用案例类在服务之间传递消息,因此需要在任何地方都可以使用相同的类版本。使用多项目构建将接口(interface)中的每个服务和实现工件分开,然后只从依赖项目中导入接口(interface)工件是否有利?
一些替代方法是在同一个工件上同时包含接口(interface)和实现并导入该工件,或者为接口(interface)和实现设置单独的存储库,这似乎有点矫枉过正并且可能开销太大。
最佳答案
在这里,您将获得基于微服务设计的 2 个观点,共享一切,不共享任何内容。我在分享任何东西。同意一个通信接口(interface)(如 JSON 或其他一些序列化机制)并允许每个服务分别处理域对象表示。这就是为什么
关于scala - 在 Akka 微服务架构中共享基于案例类的消息的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368502/