Azure角色间同步

Fla*_*ius 5 synchronization azure instances azure-worker-roles

我想知道同步多个运行相同角色的azure实例的最佳实践.更准确地说,我想阻止几个工作者角色在同一个工作单元上工作.

Azure队列似乎对此事没有帮助.一种选择是使用带锁和存储过程的sql表; 但在Azure中使用sql同步似乎有点尴尬.

有任何想法吗?

编辑,我的详细(但简化的问题)如下:

  • n个目标.
  • 必须以指定的间隔(例如30秒 - 在每个目标上完成一个工作单元 - 但每个目标的工作单位不同).
  • 我有m个工作者(托管在h个实例中).
  • 处理一个工作单元可能需要10秒到1小时.

我的想法是,我有一个调度程序,将工作单元放在Azure队列中,每个m工作人员都会读取这些并处理它们.

问题:

  • worker1开始处理unit1(关于target1) - 这个需要很长时间,比如10分钟
  • 30秒过去了
  • 调度程序为target1设置了另一个工作单元,比如unit13
  • worker2开始在unit13上工作,针对同一个目标1 - 不好

我有一些想法,但它们似乎不够混浊,所以我有兴趣看看你会解决这个问题的解决方案.