我正在寻找一种在多个工作角色实例上拥有“单例”模块的方法。我想在 Azure 中有一个具有队列和多个工作角色的并行执行模型。
这个想法是想要一个“主”实例,也就是说检查新数据,并通过将其添加到队列来调度它,处理来自特殊队列的所有消息,其他人没有处理,并将 Blob 存储挂载为虚拟驱动器,具有读/写访问权限。
我将永远只有一个“主实例”。当该主实例由于某种原因出现故障时,已经实例化的另一个实例应该很快被“选举”为主实例(几秒钟)。这应该发生在损坏的实例被 Azure 环境替换为新实例之前(大约 15 分钟)。
所以它将是某种自组织的、动态的环境。我正在考虑基于存储或表数据进行一些锁定。如果我们可以用微处理器术语来讨论的话,就有机会设置锁定超时和某种“看门狗”计时器。