【发布时间】:2015-02-12 07:56:02
【问题描述】:
我想知道如何通过 Azure 服务总线主题和订阅获得某些行为。对于我们的应用程序,我们有 1 个主题和许多订阅。订阅使用过滤器。当消息发布时,它可以被一个或多个订阅过滤。
我们已经使用了 1 的 peeklock 和 maxconcurrentcalls,但这并不妨碍多个消费者并行运行。
我们要做的是让多个消费者实例订阅同一个订阅。但 * 在给定时间只有一个实例可以处理消息。 (这样就保证了处理顺序)。 * 我们希望这些实例是负载平衡的。
因此,最后我们希望在保持消息顺序且不进行并行处理的同时对消费者进行负载平衡。
我们怎样才能做到这一点?
编辑:我想确保我有消费者的故障转移。并且希望消费者是负载平衡的:我不希望所有活动实例都在一台机器上。
【问题讨论】:
-
如果有序处理那么重要,为什么要使用多个消费者?现在所有工作都按顺序处理,所有消费者都在等待下一个
-
我已经编辑了问题:我想要对消费者进行故障转移。但他们使用相同的数据存储。所以我需要对消息进行排序并且不需要并行处理。
-
消费者的故障转移应该在消费者端构建,Azure 不知道消费者的状态。
-
如果您发布答案,我可以接受,因为我认为您可能是对的。
标签: azure servicebus azureservicebus