基于 Azure 服务总线事件的受控消息传递

Azure Service Bus event based Controlled Messaging

我有一个我正在工作的 POC 的场景。我正在使用 Azure 服务总线并将主题和订阅模型用于基于事件的消息处理。

我的一个发布者向主题发布了一条消息,3 个消费者(A、B 和 C)也准备好了。我想让Consumer C只有在Consumer A处理完消息后才处理。我可以使用 Azure 服务总线来控制它吗?

I am using Azure Service bus and using the Topic and Subscription model for my Event based message handling. ... I want the Consumer C to process only after Consumer A has finished the processing of the message.

在处理事件时,您正在实施 Pub/Sub 模式,该模式有意在发布者和订阅者之间分离。除此之外,它的想法是订阅者彼此不相关,并且彼此不依赖于处理他们订阅的事件。您无法控制不同订阅者处理同一事件消息的时间,也不能承诺该消息处理的任何顺序。

对于您所描述的场景,我会改变您所采用的方法。当消费者 A 必须首先处理事件 (E1),然后消费者 C 才必须做同样的事情时,感觉好像还有另一个事件 (E2) 包含来自 E1 的信息以及消费者 A 已完成的事实。这意味着消费者 A 和 B 订阅事件 E1,消费者 C 订阅事件 E2,其中消费者 A 将引发事件 E2。