首页 > 解决方案 > 微服务之间如何同步数据?

问题描述

我最近开始了一项工作,将我们的服务部署在无服务器 gcp 云上。

我们有多个项目,这些项目使用 pub sub 消息传递与其他人共享数据,例如,一个项目创建了一家公司,而其他项目监听该公司的创建以更新各自的数据库。


我在项目 A 中有一个 CRUD,它通知项目 B 一个实体的创建。稍后,B 接收到该对象的新状态,并希望将它们通知回 A。

我见过两种处理此案的方法:

我们目前使用第二种方法,但我有疑问:

我认为最好的解决方案是调用 CRUD,因为 CRUD 知道该状态意味着什么,如何清除缓存,记录什么,验证,而且,如果数据库结构发生变化,我们不会需要更改两个源代码(可以通过将公共代码移动到库来解决,但会增加额外的复杂性)

您目前如何处理不同项目/服务之间的类似数据同步任务?

标签: google-cloud-platformcloudpublish-subscribegoogle-cloud-pubsub

解决方案


推荐阅读