我有几个问题我没有找到任何确切的答案。我以前使用过 CQRS,但可能我没有正确使用它。
假设域中有 5 个服务:Gateway、Sales、Payments、Credit 和 Warehouse,在用户注册应用的过程中,前端提交了几个命令,同一个前端会,用户注册后,发送一些其他命令来创建订单并申请信用。
现在,我通常做的是创建一个网关,它接收所有公共命令,然后对其进行验证,如果有效,则将其转换为域命令。我只使用事件来存储数据,如果一个服务需要在另一个服务中执行某些操作,那么域命令会直接从一个服务发送到另一个服务。但是我在其他系统中看到事件处理程序不仅仅用于存储数据。所以我的问题是,事件处理程序可以做什么的限制是什么?当特定服务需要其他服务执行操作时在服务之间发送命令是否正确,或者让初始事件引发和事件并让其他服务中的处理程序在事件处理程序中执行该操作更正确。我问这个是因为我见过这样的事件:INeedCreditAproved,
欢迎任何意见。