这是同步命令处理程序的情况吗?将在验证用户之前创建用户记录.或者我应该在注册后重新考虑对真实用户的要求吗?在创建帐户之前,用户将无法访问该网站.如果用户无法直接访问系统,则可能会降低使用率.
在CQRS系统中看到混合使用同步和异步命令处理程序是否常见?
我把所有东西都运行在异步中.为了保持一切简单,队列是FIFO; 另外每个分区有一个处理线程.这样,命令总是按发送顺序处理.此外,我们仍然具有可扩展性,因为每个分区的线程可以简单地转换为每个分区的机器,而无需重新分区整个解决方案.
在一些情况下,我们可能需要同步处理(在我的例子中,例子是初始用户注册,因为我们需要在让他继续之前验证服务器上的一些东西).在这种情况下,发送命令后,用户将显示"请等待几秒钟,同时处理您的注册".一旦确认(或失败)注册,用户就会自动进入下一个屏幕.这与Web UI中的AJAX无关.桌面UI甚至更简单.