1

我有一个 Web 应用程序,它由 1 个 Web 角色和 1 个工作角色实例组成。webrole 基本上是在 blob 存储上聚合一些 blob,worker 来扫描存储的文件并处理它们。

问题是如果我要使用 2 个工作角色实例,可能会出现一些重复的结果,因为只有在成功处理后才会删除 blob。为了避免这种情况,我决定使用 Hangfire。

我打算做的是,当 Web 角色收到请求时,它不仅会将文件保存到 blob 存储,而且还会将该文件的处理任务排入队列。然后 Hangfire 工作线程将处理它。

这就提出了另一个问题:我应该在哪里部署hangfire?

如果我将 hangfire 部署到 Web 角色实例上,我将能够访问 UI,因为它具有 IIS,但我将无法将用于后台处理的资源与 Web 角色本身隔离开来。如果我将它部署到辅助角色实例上,它将无法为 UI 提供服务,因为没有 IIS。

有没有办法让 Web 角色实例触发任务但让工作实例查找并使用它们?如果是这样,怎么做?

4

0 回答 0