azure - Azure 服务总线订阅上的负载平衡使用者

标签 azure servicebus azureservicebus

我想知道如何通过 Azure 服务总线主题和订阅获得某些行为。对于我们的应用程序,我们有 1 个主题和许多订阅。订阅使用过滤器。发布消息后,可以通过一个或多个订阅来过滤该消息。

我们已经使用了 peeklock 和 maxconcurrentcalls 为 1,但这并不能阻止多个消费者并行运行。

我们想要做的是让多个消费者实例订阅同一个订阅。但 * 在给定时间只有一个实例可以处理一条消息。 (这样就保证了处理的顺序)。 * 我们希望这些实例能够实现负载平衡。

因此,最后我们希望对消费者进行负载平衡,同时保持消息顺序并且不进行并行处理。

我们怎样才能实现这一目标?

<小时/>

编辑:我想确保消费者能够进行故障转移。希望消费者能够实现负载平衡:我不希望所有事件实例都在一台机器上。

最佳答案

多个消费者会并行工作,因此很难只让一个消费者工作,而让其他消费者待机。

解决方案是单个启动的消费者。

消费者的故障转移应该建立在消费者端,Azure不知道消费者的状态。 因此,第二台机器应该检查第一台机器是否仍在工作,如果没有,则接管,并确保锁定第一台机器,以防该机器再次开始消耗。

关于azure - Azure 服务总线订阅上的负载平衡使用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472136/

相关文章:

azure - 如何执行 Windows Azure 备份?

http - azure服务总线(对于主题)可以将通知发送到休息端点(POST)

wcf - Servicebus Relay 如何中继到正确的 End Point

azure - 寻找一种通过服务总线消息对应用程序进行压力测试的工具

azure - 我怎样才能在 Kusto 中执行 "GROUP BY WITH ROLLUP"?

c# - 使用 ASP.NET Web API 并行进行基本身份验证和表单例份验证

azure - 不将 CERT 绑定(bind)到 azure 流量管理器(仅在 HTTPS 应用服务前面)主机名是否安全?

azure - 如何报告 Windows Server 服务总线中的错误?

servicebus - Windows Server 的服务总线是否已失效

azureservicebus - 为 Azure 服务总线故障转移实现辅助命名空间