Wykryj i usuń osierocone kolejki, tematy lub subskrypcje w magistrali usług Azure

Jeśli nie ma już żadnych wydawców lub subskrybentów czytających lub piszących do kolejki, tematu lub subskrypcji z powodu awarii lub innych nienormalnych zakończeń (restart instancji itp.), Czy kolejka / temat / subskrypcja jest skutecznie osierocona?

Przetestowałem to, tworząc kilka kolejek, a następnie kończąc aplikacje. Te kolejki były jeszcze długo w Magistrali usług. Wygląda na to, że zostaną tam na zawsze. Byłoby wspaniale, gdybyśmy chcieli tego zachowania, ale w tym przypadku nie.

Jak możemy wykryć i usunąć te kolejki, tematy i subskrypcje? Będą się liczyć do limitów Azure itp. I nie możemy mieć tych osieroconych procesów za każdym razem, gdy instancja jest restartowana / łatana / ulega awarii.

Jeśli pomaga to wyjaśnić pytanie, jest to wyjątkowa sytuacja, w której Kolejki / Tematy / Subskrypcje mają specjalne nazwy lub specjalne Filtry i bardzo ograniczony zestaw wydawców (1) i subskrybentów (1) przez ograniczony czas. To nie jest przypadek, w którym chcemy przeżyć. Są to specyficzne dla instancji kanały odpowiedzi. Nie ma znaczenia, czy korzystamy z kolejek, czy subskrypcji. Jeśli wystąpienie zniknęło, potrzeba takiej kolejki (lub subskrypcji).

Jest to część rozwiązania, w którym każda rola internetowa ma dedykowany kanał odpowiedzi, który monitoruje. W każdej chwili ta rola internetowa może mieć dziesiątki żądań oczekujących w innych kanałach przesyłania wiadomości (Kolejki / Tematy) i czeka na odpowiedzi w wielu wątkach. Potrzebujemy odpowiedzi, aby wrócić do wątku, który umieścił wiadomość, aby rola internetowa mogła odpowiedzieć wywołującemu. W tej sytuacji nie jest dobrze po prostu mieć subskrypcję opartą na maszynie, ponieważ będzie ona otrzymywać wiadomości dla innych wątków. Potrzebujemy każdego wątku publikującego, aby ustanowić dedykowany kanał odpowiedzi, tak aby jedyną rzeczą na tym kanale była odpowiedź na ten wątek.

Nawet jeśli użyjemy Subskrypcji (z jakimś filtrem związanym z instancją), aby wykonać operację odbioru z długim odpytywaniem w Subskrypcji, jeśli instancja roli internetowej zginie, subskrypcja zostanie osierocona, prawda?

To pytanie można sprowadzić w ten sposób: jeśli nie ma więcej wydawców lub subskrybentów kolejki / tematu / subskrypcji, usługa ta jest skutecznie osierocona. Jak można wykryć i oczyścić te sieroty?

questionAnswers(5)

yourAnswerToTheQuestion