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

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

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

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

Если это помогает прояснить вопрос, это уникальная ситуация, в которой очереди / темы / подписки имеют специальные имена или специальные фильтры и очень ограниченный набор издателей (1) и подписчиков (1) в течение ограниченного времени. Это не тот случай, когда мы хотим выживаемости. Это каналы ответа для конкретного экземпляра. Используем ли мы Очереди или Подписки, не имеет значения. Если экземпляр исчез, так же как и необходимость этой очереди (или подписки).

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

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

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

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

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