是否可以通过其API查询微服务的ORM,并将其用作另一个微服务的ORM?
例如假设我有一个微服务A及其API(我们将其称为API_A),其DB(DB_A)和其内部对象关系映射器实例(ORM_A),它们将属于微服务的类之间的对应关系定义为关系结构数据库并管理其访问。
现在假设我想拥有一个微服务B,它相对于A具有不同的功能,尽管其ORM与A相同(因此,具有相同DB_A结构的DB,尽管不一定具有相同的数据,但不同功能可能会产生不同的数据。
如何以一种智能的方式查询/复制/镜像ORM_A到微服务B中,这样我就不会重复代码,并且当A更改时,ORM_B也相应地更改而无需人工干预?
是否可以通过API将ORM_A查询到B,然后在微服务B中重新创建它?
答案 0 :(得分:2)
API_A内部的代码更改可能会导致API_B内部的代码更改的想法在服务及其数据之间建立了耦合,这表明它们不应该是两个不同的服务。
如果API_B实际上执行的功能与API_A完全不同,并且仅需要API_A浮出水面的结构中的一些数据,则应考虑几个不同的选择,以确保API_B可以从API_A访问相关数据:
我已经看到人们在采用微服务时遇到了困扰(我自己也为之苦恼),这是数据复制尚可的想法。尽量不要将数据视为跨多个服务的关系,因为这样自然就可以创建微服务中要避免的那种耦合。祝你好运!