我正在实现一个具有 Akka 持久性的 CQRS 系统,并且我正在尝试了解 CQRS 的请求响应位。
关于如何将响应发送回客户端的答案很少,本文还提到了一些好的模式。但是,不要用大词概括,有人可以解释一下我应该如何在 CQRS 中将响应发送回以下简单用例的客户端。
用例
假设用户在显示用户个人资料的页面上,该个人资料显示以下信息
- 用户名
- 地址
- 电话号码
在我的系统中,每个用户都有一个 Actor,用于存储该用户的个人资料信息。
在 UI 上,用户想要更新地址并且发生以下事情:
- 用户进行 AJAX REST 调用以更新用户地址
UpdateUserAddressCommand(address:String)
生成UpdateUserAddressEvent(address:String)
生成UserAddressUpdatedEvent(updatedAddress:String)
已生成(已更新 UserActor 的状态)
现在如何发回系统中 UserProfile 的完整状态?由于 CQRS 不鼓励发送对命令的响应?