Azure 服务总线或队列

Azure Service Bus or Queue

我有一个流程,我想使用 Azure 队列或服务总线将处理与 UI 分离。用户将按下一个按钮,我想在队列中放置 2 条消息,每条消息都有自己的主题。一组竞争消费者将处理主题 A,另一组处理主题 B。只有在 A 和 B 都完成后,第三个进程 C 才能启动。换句话说,我的第一条消息应该并行启动 2 个进程(两者都很紧张,需要一起启动),然后当两个进程都成功完成时,第三个也是最后一个竞争消费者应该 运行 完成任务。

我试图避免将进程 1 和 2 的成功存储在数据库或其他东西中,而是使用队列来完成这一切。

提前致谢...

听起来您的第一部分需要一个 Azure 服务总线主题(两个队列,每个队列都有相互竞争的消费者)。这将允许您描述的 topic/subscription 模型。

在这些完成后自动触发另一个服务是不可能使用队列的。这将需要某种持久层来跟踪该进程状态。

为了保持解耦,您可以让进程 A 和 B 将完成消息发送到另一个队列。然后你可以在这个队列的末尾放置一个消息泵,它可以决定何时启动进程 C.