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