【发布时间】:2019-07-13 08:51:31
【问题描述】:
在实施基于事件溯源的微服务时,我们遇到的主要问题之一是聚合响应数据。例如,我们可能有两个实体,例如学校和学生。一个微服务可能负责处理与学校相关的业务逻辑,而另一个可能负责处理学生。
现在,如果有人通过 REST 端点进行查询并询问特定学生,他们可能会期望学校和学生的详细信息,那么对我来说唯一已知的方法如下。
使用服务链之类的东西。一个示例是 Api-Gateway 在向多个微服务发出多个请求后聚合响应。
在所有服务中复制所有内容。本质上,数据会被复制。
让服务相互调用以获得那些额外的信息。该解决方案有效,但难以扩展,并且违背了使用事件溯源的基本理念。
我的问题是,还有什么其他方法可以做到这一点?
【问题讨论】:
-
“本质上,数据会被复制”曾几何时,这被称为缓存。这并不被认为是一件坏事。
-
您可能需要根据您的事件创建物化视图来查询数据。
标签: microservices event-sourcing