同一服务总线队列中的不同读者?

时间:2017-12-04 13:39:40

标签: queue azureservicebus servicebus azure-servicebus-queues

假设我们有4种不同类型的消息:Type1,Type2,Type3和Type.4。

由于FIFO功能的不确定性,我们有一个带会话的服务总线队列。

我们还有两个消息编写者。第一个消息编写器负责创建类型为type1和type2的消息,其中writer#2负责创建type3和type4类型的消息。这是简单的部分。

现在我希望能够创建两个读者,reader1和reader2。

Reader1必须读取type1和type2类型的消息。 Reader2必须读取类型为type3和type4的消息。

但我无法弄清楚如何实现这一目标。因为如果reader1重新输入type3的消息,它需要abanadon它,因为reader1不能只处理type1和type2类型的消息。在最坏的情况下,reader1将被卡在消息中,直到它被抛到deadletter queue。

创建两个不同读者的原因是因为它们位于两个完全不同的域中,具有完全不同的功能。

如何实现重新授权的功能?

1 个答案:

答案 0 :(得分:2)

您需要使用服务总线主题和订阅。

作家将消息发布到主题。然后两个读者都订阅了该主题,每个订阅都可以根据消息类型进行过滤。

参见"主题和订阅" in the docs