我有一个流程,我希望使用Azure队列或服务总线将处理与UI分离。用户将按下一个按钮,我想在队列中放置2条消息,每条消息都有自己的主题。 1组竞争消费者将处理主题A,另一组设置过程主题B.只有在A和B都完成后,才应该开始第三个过程C.换句话说,我的第一条消息应该并行启动2个进程(两者都很紧张,需要一起启动),然后当两个成功完成时,第三个也是最后一个竞争消费者应该运行来完成任务。
我试图避免将进程1和2的成功存储在数据库或其他内容中,而是使用队列完成所有操作。
提前致谢...
答案 0 :(得分:1)
听起来您需要第一部分的Azure Service Bus主题(两个队列,每个队列都有竞争消费者)。这将允许您描述的主题/订阅模型。
使用队列无法在完成这些服务后自动触发其他服务。这将需要某种持久层来跟踪该进程的状态。
为了使事物解耦,您可以让进程A和B将完成消息发送到另一个队列。然后,您可以在此队列的末尾放置一个消息泵,以决定何时启动进程C.