小编Nic*_*ico的帖子

如何在事件驱动的微服务架构中查询?

假设基于CQRS架构的以下简单UC:

我们有一个管理商业对象的后端,让电影说.

  • 该后端由2个微服务组成:CommandManager(创建/更新/删除电影)和QueryManager(查询电影)
  • 我们有一个前端,提供用于创建新电影的网页,此操作自动引导到描述电影的另一个网页.

一个简单的方法是:

  • 网页使用表单收集电影信息并将其发送到前端.
  • 前端向CommandManager发出POST请求
  • CommandManager将新影片写入数据存储区并返回影片键
  • 前端使用此键对QueryManager进行GET
  • QueryManager使用密钥在数据存储区中查找电影并将其返回.
  • 前端提供带有电影信息的页面.

好的,现在我想以更多的事件驱动方式转换这个UC.这是新的流程:

  • 网页使用表单收集电影信息并将其发送到前端.
  • 前端使用新电影信息在BUS中写入消息
  • CommandManager侦听总线并在数据存储区中创建新电影.最终,它在BUS中发布一条新消息,指定已创建新电影.

此时,由于这种流是异步的,因此前端不再等待响应.我们如何完成此流程以将用户转发到电影信息网页?在查询QueryManager之前,我们应该等待创建过程完成.

在一个更通用的术语中,在基于总线/事件的异步架构中,如何执行用于在网页中提供信息的Query?

event-driven cqrs microservices

6
推荐指数
1
解决办法
1133
查看次数

标签 统计

cqrs ×1

event-driven ×1

microservices ×1