0

我正在尝试迁移到服务结构现有解决方案。部分原因是侦听队列的工作人员数量。例如我有一些队列:

Task1_Queue, Task2_Queue ... TaskN_Queue

对于每个队列,都有一些处理它们的消息的逻辑,比如说工人。他们执行不同的任务,例如生成巨大的报告文件并上传到Azure Storage数据库或在数据库中进行小型更新。

问题是如何设计服务以使工作人员具有良好的可扩展性。我的想法是:

选项 1 - 每个队列将有单独的无状态服务。没有简单的方法来自动扩展单一服务。

选项 2 - 将工作人员实现为单独的参与者,并使用单一无状态服务来侦听队列和调用参与者。优点 - 开箱即用的自动缩放,对于来自队列的每条消息,都将创建新的参与者。缺点 - 演员将是一次性的。

4

1 回答 1

3

考虑创建两种类型的无状态服务:

  1. 监控任务队列深度的服务。此服务将根据排队任务的数量创建和删除服务 2 的实例。
  2. 处理排队作业的服务。
于 2017-08-18T10:59:38.680 回答