Architecture 如何在微服务之间解耦数据?

Architecture 如何在微服务之间解耦数据?,architecture,microservices,Architecture,Microservices,下面是一个我需要帮助解决的场景 ->意味着依赖 服务A->服务B 服务包含它们自己的数据库 单向依赖关系是可以的。但现在我有一个要求,即我拥有的数据只在服务A中使用,但属于B中的记录,并且这些数据需要在服务B中创建记录时创建 这将导致A所需的数据结构发生任何变化,B也将需要这些变化,从而导致紧密耦合 我可以采取什么方法来解决这种数据耦合 为了这个 单向依赖关系是可以的。但现在我有一个要求,即我拥有的数据只在服务A中使用,但属于B中的记录,并且这些数据需要在服务B中创建记录时创建 你应该考虑事件来

下面是一个我需要帮助解决的场景

->意味着依赖

服务A->服务B

服务包含它们自己的数据库

单向依赖关系是可以的。但现在我有一个要求,即我拥有的数据只在服务A中使用,但属于B中的记录,并且这些数据需要在服务B中创建记录时创建

这将导致A所需的数据结构发生任何变化,B也将需要这些变化,从而导致紧密耦合

我可以采取什么方法来解决这种数据耦合

为了这个

单向依赖关系是可以的。但现在我有一个要求,即我拥有的数据只在服务A中使用,但属于B中的记录,并且这些数据需要在服务B中创建记录时创建

你应该考虑事件来源。在服务B中创建记录时,应发布包含该记录的事件,例如
RecordInBCreated
。将订阅服务A以侦听该事件。一旦事件由B发布并由A监听,您就可以在服务A中对该事件数据执行任何操作。这样,您就不必太担心:

这将导致A所需的数据结构发生任何变化,B也将需要这些变化,从而导致紧密耦合