我有一个正在工作的POC场景。我正在使用Azure Service总线,并在基于事件的消息处理中使用主题和订阅模型。
我的一个发布者将消息发布到主题,并且3位使用者(A,B和C)已经准备好消息。我希望消费者C仅在消费者A完成消息处理之后进行处理。我可以使用Azure Service Bus来控制它吗?
答案 0 :(得分:0)
我正在使用Azure Service总线,并使用主题和订阅模型进行基于事件的消息处理。 ... 我希望消费者C仅在消费者A完成对消息的处理之后进行处理。
在处理事件时,您正在实现发布/订阅模式,该模式是有意使发布者和订阅者之间脱钩的。除此之外,其思想是订户彼此不相关,并且彼此之间不依赖于处理他们所订阅的事件。您无法控制不同订户处理同一事件消息的时间,也不能保证该消息处理的任何顺序。
对于您所描述的情况,我将更改您采用的方法。当消费者A必须先处理事件(E1),然后消费者C必须做同样的事情时,感觉好像还有另一个事件(E2)包含来自E1的信息以及消费者A已经完成的事实。这意味着消费者A和B订阅事件E1,消费者C订阅事件E2,其中消费者A将引发事件E2。