Я ищу для реализации простой демо-версии pub-sub, используя NServiceBus
при поддержке Azure Service Bus.NServiceBus pub-sub на очередях служебной шины azure
Я работаю с неопределенным количеством абонентов более того порождал или существующие погибают в зависимости от различных условий, поэтому каждый раз, когда я создаю подписчик, я создать Endpoint
и EndpointInstance
с уникальным именем и подписаться на рассылку событие, которое меня интересует.
Когда абонент выключается, я отписываюсь от событий и останавливаю EndpointInstance
.
Однако, если я проверяю свою служебную шину, то очереди подписки на очереди и темы, которые создаются в процессе, не очищаются. Это означает, что через некоторое время у меня потенциально будет сотни очередей и подписей на темы, которые никогда не будут использоваться снова из-за того, как я создаю свои имена EndpointInstance
.
Как их очистить?
Я что-то упустил? не следует ли создавать новые Endpoint
и EndpointInstance
для каждого абонента (это, по-видимому, шаблон, используемый в официальных образцах и руководствах).
UPDATE:
аналогия, которая просто пришла на ум что-то вроде системы толчок уведомления, когда клиенты (подписчики) приходят онлайн и подписаться на автобусе. Когда событие опубликовано, я хочу, чтобы все клиентов получили его. Когда клиент закрыт, мне не нужны сообщения, которые отправляются, но я не заинтересован в получении каких-либо утерянных сообщений, когда клиент приходит в Интернет. Я хочу закрыть подписку и очистить базовую инфраструктуру (очереди, подписки и т. Д.).
В моем сценарии каждый клиент будет определять свой собственный уникальный экземпляр Endpoint и Endpoint. Как логические конечные точки вступают в игру в этот момент?
Можете ли вы рассказать больше о реальной проблеме, где вам это нужно? Возможно, это проблема дизайна. Все ли эти экземпляры - одна и та же конечная точка? Это для масштабирования? –
К какой документации вы относитесь к утверждению «это, по-видимому, образец, используемый в официальных образцах и руководствах». –
Когда вы отмените подписку, подписка будет удалена, и больше не должно появляться сообщений в этой конечной точке. Но остановка конечной точки не означает, что очереди удаляются. Он может временно спуститься на техническое обслуживание и снова подняться. Как упоминал Рамон, пожалуйста, укажите, что вы хотите продемонстрировать, и что вы ожидаете. –