用户可以在我们的Web应用程序上执行操作,该操作需要100毫秒到10秒,我希望立即将结果返回给浏览器,然后在任务完成处理后将结果显示给用户.该操作正在同步来自第三方的数据,并实现为类库(DLL).
通常,建议使用像RabbitMQ或MSMQ这样的队列,并让一个工作人员将结果写入数据库,该数据库由来自浏览器的AJAX请求轮询以检查更新.
然而,目标是减少延迟,使其尽可能地同步运行任务,同时能够处理长时间运行的任务中的峰值,而不会影响网站的其余部分.
如何构建后端?在我看来,过程将是:启动任务,以最小延迟运行任务,通知最终用户任务完成(ASAP)并最终在浏览器中显示结果.