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

时间:2019-10-02 03:04:48

标签: architecture microservices

这是我需要帮助解决的情况。

->表示依赖性

服务A->服务B

服务包含自己的数据库。

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

这将导致A所要求的数据结构发生任何更改,B中也将要求B导致紧密耦合。

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

1 个答案:

答案 0 :(得分:0)

为此

  

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

您应该考虑事件来源。在服务B中创建记录时,应发布一个事件,例如RecordInBCreated包含该记录。服务A将被订阅以侦听该事件。一旦事件由B发布并由A侦听,您就可以对服务A中的事件数据进行任何处理。这样,您就不必为此担心很多。

  

这将导致A所要求的数据结构发生任何更改,B中也将要求B导致紧密耦合。