【发布时间】:2018-04-16 01:40:59
【问题描述】:
我计划使用消息队列 (RabbitMQ) 在我的应用程序中实现异步文件生成模块。当用户通过 Web 应用程序 UI 输入数据时,数据会被放入 MQ。数据还包含请求用户的 ID。有一个轮询队列的工作应用程序。工作人员从队列中删除一个项目,处理记录,创建一个文件作为结果,并将文件存储到数据库中。我的要求是我想向用户显示一个网格,显示他们提出的所有请求的状态,如下表所示
----------------------------
Report Name | Status
----------------------------
Report 1 | Not Started
Report 2 | Completed
----------------------------
仍在 MQ 中的所有项目的状态应显示为“未开始”。从理论上讲,这将使我查询 MQ 中用户 ID = 当前用户 ID 的所有消息。我认为从 MQ 中查看所有消息可能不是很有效,这与我们在 SQL 表中所做的不同。基本上,我正在寻找各种/更好的选择来从设计/架构的角度以最好的方式处理这个问题。
【问题讨论】:
标签: asynchronous architecture message-queue servicebus