ServiceBus-per-customer в SaaS

ServiceBus-per-customer в SaaS

Мое приложение сейчас отлично работает как Azure App Service. Оно использует Service Bus Queue для передачи битов данных, которые затем подбираются клиентами, происходит "что-то", а затем клиенты возвращают ответы моему приложению в другую Service Bus Queue. Так что по сути у меня есть по одной входящей очереди и исходящей очереди.

Теперь я пытаюсь расширить это приложение до SaaS. Я хотел бы сохранить ту же архитектуру «очередь-выход-очередь-вход», но с потенциально неограниченным количеством (n)отдельных, ненадежных клиентских подключений. Я также предпочел бы избежать инвестиций в управление и почасовую стоимость обслуживания 2nресурсов Service Bus!

Боюсь, я не вижу способа реализовать этот тип безопасной "фильтрации" в очереди Service Bus. Клиенты могут сказать "дайте мне следующие пять сообщений", но они будут получать сообщения всех, а не только свои собственные.

Есть ли способ сделать то, что я хочу, используя Service Bus Queues? Должен ли я реализовать эту архитектурную концепцию с каким-то другим видом ресурса Azure? Или мне лучше всего закодировать пользовательский вызов API для реализации "дайте мнемой«Идея следующих пяти сообщений»?

решение1

Я думаю, что темы и отфильтрованные подписки, вероятно, справятся с этой задачей:https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters

Связанный контент