在Spring的帮助下,我负责从用Java编写的monolith中提取微服务。我们计划把整个一体机分成几个较小的微型服务。
我必须启用monolith和新的微服务之间的通信,因为它需要来自新微服务的实体(它有自己的数据库)来执行某些操作。我想公开REST端点,但之后我不得不复制实体。
可以接受吗?如果是这样的话,那么应该将从微服务中检索实体的monolith中的REST控制器放在与存储库相同的层中?这个解决方案会增加耦合,这是应该避免的,还有其他的方法吗?
我将感谢您的任何答复和文章,在您看来,在这里可能有帮助。提前谢谢你。
发布于 2018-10-12 14:59:38
这完全取决于你的用例。没有通用的解决方案,维护存放共享资源的存储库是完全可以的。
如果您对Microservice非常严格,它将维护自己的实体。在传输数据时,您将使用一种中间格式,如JSON或XML,它不关心数据的结构。Microservice生活在它自己的世界里,并且只局限于他的用例。如果另一个服务经历了更改,并且实体发生了更改,则其他服务不应受到此更改的影响。每个服务只应该有它所需要的数据,其他的一切都不是他所关心的。
因此,我不会使用中央存储库,但正如前面所述,在这种情况下,这是可行的。也许一些特定的端点可以帮助您解决这个问题。
https://stackoverflow.com/questions/52782010
复制相似问题