Обнаружение и удаление потерянных очередей, тем или подписок на служебной шине Azure

Если издатели или подписчики больше не читают и не пишут в очередь, тему или подписку из-за сбоев или других ненормальных завершений (перезапуск экземпляра и т. Д.), Является ли эта очередь / тема / подписка фактически потерянной?

Я проверил это, создав несколько очередей, а затем завершив работу приложений. Эти очереди еще были в служебной шине долгое время спустя. Кажется, они просто останутся там навсегда. Было бы замечательно, если бы мы ХОТЕЛИ такое поведение, но в этом случае мы этого не делаем.

Как мы можем обнаружить и удалить эти очереди, темы и подписки? Они будут учитываться при определении пределов Azure и т. Д., И мы не можем иметь эти потерянные процессы каждый раз, когда экземпляр перезапускается / исправляется / падает.

If it helps make the question clearer, this is a unique situation in which the Queues/Topics/Subscriptions have special names, or special Filters, and a very limited set of publishers (1) and subscribers (1) for a limited time. This is not a case where we want survivability. These are instance-specific response channels. Whether we use Queues or Subscriptions is immaterial. If the instance is gone, so is the need for that Queue (or Subscription).

Это часть решения, в котором каждая веб-роль имеет выделенный канал ответа, который она отслеживает. В любой момент эта веб-роль может иметь десятки запросов, ожидающих через другие каналы обмена сообщениями (очереди / темы), и она ожидает ответов в нескольких потоках. Нам нужен ответ, чтобы вернуться в поток, который разместил сообщение, чтобы веб-роль могла ответить вызывающей стороне. В этой ситуации бесполезно просто иметь подписку, основанную на машине, потому что она будет получать сообщения для других потоков. Нам нужен каждый поток публикации, чтобы установить выделенный канал ответа, чтобы единственной вещью на этом канале был ответ для этого потока.

Даже если мы используем подписки (с каким-то фильтром, связанным с экземплярами), чтобы выполнить операцию получения длинного опроса для подписки, если экземпляр веб-роли умрет, эта подписка будет потеряна, правильно?

Этот вопрос можно свести к следующему: Если больше нет издателей или подписчиков на Очередь / Тему / Подписку, то эта служба фактически теряется. Как можно обнаружить и очистить этих сирот?

Ответы на вопрос(5)

Ваш ответ на вопрос