私のアプリケーションは、現在、Azure App Service として正常に動作しています。Service Bus キューを使用して、クライアントが取得するデータの一部をプッシュし、「処理」が行われた後、クライアントが別の Service Bus キューで応答を私のアプリにプッシュします。つまり、基本的に、受信キューと送信キューがそれぞれ 1 つずつあります。
現在、このアプリケーションを SaaS に拡張しようとしています。キュー アウト、キュー インのアーキテクチャはそのままに、信頼できない個別のクライアント接続を無制限に維持したいと考えています。また、Service Bus リソース(n)
の管理と維持にかかる時間コストへの投資は避けたいと考えています。2n
残念ながら、Service Bus キューでそのような安全な「フィルタリング」を強制する方法はわかりません。クライアントは「次の 5 つのメッセージをください」と要求できますが、自分のメッセージだけでなく、全員のメッセージを受け取ることになります。
Service Bus Queuesを使用して、私が望むことを実現する方法はありますか? このアーキテクチャの概念を別の種類のAzureリソースで実装する必要がありますか? それとも、「私に与えてください」を実装するためにカスタムAPI呼び出しをコーディングするのが最善でしょうか?私の「次の 5 つのメッセージ」のアイデアはありますか?
答え1
トピックとフィルタリングされたサブスクリプションがおそらく役に立つと思います:https://docs.microsoft.com/ja-jp/azure/service-bus-messaging/トピックフィルター