我正在尝试熟悉CQRS和微服务体系结构,我了解CQRS包括将读取模型与域模型分开,并且您具有针对每个读取模型的特定数据库,以优化查询方。
但是作为仅习惯于整体架构的人,如果关系数据存在于不同的服务中,我将不了解如何处理它们。比方说,例如,我有一个用户微服务和一个带有读取模型的帖子微服务,我应该如何向发布它们的每个用户查询帖子,如何管理不同微服务之间的相关数据?
我有一个用户微服务和一个具有读取模型的帖子微服务,我应该如何向发布它们的每个用户查询帖子,如何管理不同微服务之间的相关数据?
您将数据从拥有它的服务的持久存储中复制到可以构建和更新所需视图的某个常见位置。
管道的一个简单实现可能是让一个计时器按一定的时间表触发,并且每次触发计时器时,您都会将更新的信息拉到视图中,应用您可能需要的任何转换。
存在一些延迟,因为服务所做的更改要花费一些时间才能传播到视图,但这是您决定分别为用户和帖子提供服务时所签署的内容的一部分。