AZURE Service Bus如何使用订阅消息进行规则?

时间:2015-11-05 22:41:39

标签: azure azureservicebus

我不明白。

说我有一个秘密,一个主题,一个副作用。还有三个订阅它的客户。

我发了一条消息。

第一个客户收到一条消息并调用complete()动作。

第二位客户会收到消息吗?

如果客户订阅了该怎么办?

问题是 - 什么时候消息会从queve / topic / subscription中完全删除?

P.S。情况是"一对一" - 很清楚。

1 个答案:

答案 0 :(得分:0)

我建议您查看竞争消费者模式。 (https://msdn.microsoft.com/en-us/library/dn568101.aspx?f=255&MSPPError=-2147217396)。

您可以拥有许多角色(即Azure工作者角色)来检查队列中的消息(竞争消费者),在处理时将其锁定。每个角色都在为一条消息而奋斗,而第一个抓住它的人(偶然),拥有它"排除"暂时。如果获取并处理消息的使用者成功,则运行Complete()方法,否则运行Abandon(消息)。完成()完成它,并且Abandon将它重新投入到竞争消费者的狂热中。如果你健康,你甚至可以再次抓住它!

您可以在Azure管理门户中设置dead message参数,该参数确定可以为其他使用者重新引入的次数。在某些时候,事情是行不通的,所以要杀掉这条消息,以便其他消息可以不受阻碍地恢复。

如果您有更具体的需求,请告诉我。很乐意提供帮助。这种模式非常有效。

最诚挚的问候......

相关问题