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