【发布时间】:2021-05-01 19:03:20
【问题描述】:
我对 CQRS 还很陌生,遇到了一个问题,我认为在事件驱动的架构中没有很好的解决方法。希望任何人都可以帮助我解决这个问题!
设置
假设我已将系统分解为更小的子系统(域),这些子系统(域)都在多台物理机器上的微服务中分离。
假设我们有一个包含以下实体的 CRM 系统:客户、销售人员和讨论。
就本示例而言,每个实体都是单独域的一部分。
讨论了解销售和客户。 销售了解客户。 客户不知道任何外部域/系统。
在我们的 UI 中,我们有一个动作是“删除客户 X”。
问题
我们试图实现的是告知用户该操作可能产生的影响(即同时删除相关讨论)并让该用户有机会中止该操作。
有处理这些情况的标准方法吗?
我担心的一个问题是,正常的操作流程是异步级联的。 但是中止场景是同步的,因为在我们从外部系统得到关于计算效果的答案之前我们无法继续。
在某种程度上,我觉得这个场景并没有真正被 CQRS 事件管道覆盖,而是一个单独的解决方案。
亲切的问候 理查德
【问题讨论】: