gpt4 book ai didi

rest - CQRS - 通过具有即时一致性的命令发送响应

转载 作者:行者123 更新时间:2023-12-04 04:17:15 24 4
gpt4 key购买 nike

我有以下架构:
architecture
办公室有端口和适配器,还有你能想象到的一切......

您有什么建议,如何通过即时一致性发送休息响应?我应该添加另一个事件总线并引发事件吗? (我想投影必须发送一些关于成功的信息。)

如何在这样的基于事件的系统中处理错误? (事件总线不是必需的,我可以解决与 IoC 容器的松耦合,但我认为通过这么多对象发送回调不是一个好的解决方案。)

最佳答案

这并不难,您可以直接从 Controller 调用命令处理程序,而不是发送命令。或者有一个服务方法来处理输入并返回一些东西。重要的一点是所有这些都是同步完成的(即您需要等到处理程序完成)。域事件处理程序不受影响,它们可以是异步的。

如果您不想“混合”并希望始终使用相同的工作流程(如您的图片中所述),事情会更复杂,您需要客户端经常检查操作是否已完成。我认为更好的方法是灵活,因此对于某些任务,您可以使用“旧”方法。域事件仍然会被生成和处理,那部分不会改变。您只是在改变“命令”的执行方式。

此外,值得一提的是,您不应该期望来自事件处理程序的响应,如果它让您感觉更好,请使用“请求-响应”术语而不是命令-响应。

顺便说一句,您不会以这种方式破坏 CQRS,只要您的域模型不用于执行查询,即您有不同的写入和读取模型,它就是 CQRS。

关于rest - CQRS - 通过具有即时一致性的命令发送响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com