将N个工作项发送到M节点

时间:2016-12-05 21:50:17

标签: azure distributed

这个问题似乎很常见,但我没有找到任何具体的讨论。对不起,如果已经问过这个问题。

存储中存储了N个工作项(我使用的是Azure表存储),并且有M个工作计算机并行运行。我想要实现的是:

  1. 均匀地将工作项发送到工作机器。
  2. 发货后,在工作机器完成工作项目之前,如果它已经死亡,任何其他机器都可以拿起工作项目。
  3. 到目前为止,我有三种可能的解决方案。

    1. 让每台工作机器竞争直接从Azure表存储中获取工作项。
    2. 介绍一个新组件,负责从Azure表存储中读取工作项并将它们放入某个队列服务(Azure队列存储),然后每个工作机从队列中选取。
    3. 介绍一个新组件,负责从Azure表存储中读取工作项,并根据活动工作者计算机的数量将它们划分为分区,并公开服务API(可能是休息服务),让工作者机器获取分区工作项来自这个新组件。
    4. 我倾向于第3种选择,但想知道是否有任何其他想法可以解决这类问题。

0 个答案:

没有答案