Cqrs 我们是否需要在CQR中混合使用同步和异步命令处理程序? 用户在我们的网站上注册并登录。RegisterUserCommand被发送到异步命令处理程序 用户希望更改其地址,但尚未处理RegisterUserCommand。系统中没有用户记录

Cqrs 我们是否需要在CQR中混合使用同步和异步命令处理程序? 用户在我们的网站上注册并登录。RegisterUserCommand被发送到异步命令处理程序 用户希望更改其地址,但尚未处理RegisterUserCommand。系统中没有用户记录,cqrs,Cqrs,这是同步命令处理程序的情况吗?用户记录将在对用户进行身份验证之前创建。还是应该重新考虑注册后对真实用户的要求?在创建帐户之前,用户将无法访问该网站。如果用户不能直接访问系统,可能会导致使用率下降 在CQRS系统中混合使用同步和异步命令处理程序是常见的吗?我的一切都是异步运行的。为了保持一切简单,队列是FIFO;另外,每个分区有一个处理线程。这样,命令总是按照发送的顺序进行处理。此外,我们仍然具有可伸缩性,因为每个分区的线程可以简单地转换为每个分区的机器,而不需要重新分区整个解决方案 在一些情况下

这是同步命令处理程序的情况吗?用户记录将在对用户进行身份验证之前创建。还是应该重新考虑注册后对真实用户的要求?在创建帐户之前,用户将无法访问该网站。如果用户不能直接访问系统,可能会导致使用率下降


在CQRS系统中混合使用同步和异步命令处理程序是常见的吗?

我的一切都是异步运行的。为了保持一切简单,队列是FIFO;另外,每个分区有一个处理线程。这样,命令总是按照发送的顺序进行处理。此外,我们仍然具有可伸缩性,因为每个分区的线程可以简单地转换为每个分区的机器,而不需要重新分区整个解决方案


在一些情况下,我们可能需要同步处理(在我的示例中是初始用户注册,因为在让他继续之前,我们需要在服务器上验证一些事情)。在这种情况下,在发送命令后,用户会看到“请稍等几秒钟,您的注册正在处理”。一旦注册被确认(或失败),用户将自动进入下一个屏幕。在web UI中使用AJAX可以做到这一点。桌面UI更简单。

在同步处理的实例中,我假设您正在轮询读取存储,以了解何时处理注册或是否发生错误。