【问题标题】:Is there a way to auto delete consumers groups of a (service Bus event hubs) that doesn't contain any consumer有没有办法自动删除不包含任何消费者的(服务总线事件中心)的消费者组
【发布时间】:2026-02-12 06:40:01
【问题描述】:

我有一个多实例应用程序,我正在使用服务总线事件中心将一些消息放入其中并广播到所有其他实例,将消息发送到所有实例的条件是每个实例都需要位于单独的消费者组,否则一个实例将获取消息并将其删除,因此其他实例将不会收到消息,所以我的解决方案是首先每个实例创建它自己的消费者组,然后收听事件中心,但这里的问题是因为实例崩溃,我会有很多消费者组在一段时间后无法使用, 我的问题是:是否可以检测并获取所有未使用的消费者组来删除主题?

P.S:我也尝试过使用主题/订阅,效果很好,但我有同样的问题,只是用订阅替换上面的消费者组:)。

【问题讨论】:

  • 当你应用启动时,你能检查一下消费者组是否已经存在吗?
  • 嗨@thomas,是的,我可以获得所有具有所有属性的消费者组,例如(createdAT,name ...)。使用下面的代码:namespaceManager.GetConsumerGroups("<hubName>").ToList();

标签: azure publish-subscribe azureservicebus azure-eventhub azure-servicebus-topics


【解决方案1】:

我得到了答案:不,您无法检测到未使用的消费者组,但另一方面,您可以检测到订阅未在使用,因为它具有属性“LastAccessDate”,因此我可以使用此字段查看订阅是否正在使用以及上次访问日期是什么时候,所以我从我的服务总线“事件中心”更改为“主题/订阅”并且它可以工作:)。

【讨论】:

  • 您是如何动态创建订阅的?