サーバー側のすべての処理 (スクラブ、拡張、ソーシャル プロファイル、電子メール通知) の前に、あるバージョンの Azure Service Bus を使用したいと考えています。
Azure Service Bus に関するドキュメントは、私にとって非常に不可解であり、誰かが私を助けてくれることを願っています。
サーバー側のすべての処理 (スクラブ、拡張、ソーシャル プロファイル、電子メール通知) の前に、あるバージョンの Azure Service Bus を使用したいと考えています。
Azure Service Bus に関するドキュメントは、私にとって非常に不可解であり、誰かが私を助けてくれることを願っています。
すべての処理を Web ロールから移動することは、間違いなく良い考えです。Service Bus キューは確実に機能します。別のオプションとして、代わりにAzure Storage キューを使用することもできます。それらは HTTP を介したキューイングの概念の比較的単純な実装であり、.NET クライアント ライブラリは非常に優れているため、理解しやすいかもしれません。価格も安い傾向にあると思います。
そのバックグラウンド処理を分割する方法もたくさんあります。あなたは出来る:
作業がどの程度リソースを集中的に使用するか、またどれだけ迅速に実行する必要があるかに応じて、1 つのアプローチが他のアプローチよりも優れている場合があります。集中的な処理を行うと、そのリストのさらに下に移動する傾向があります。
これは、このプロジェクト/製品の複雑さと、トランザクションの数によって異なります...しかし、あなたが言及したように、Service Bus Queue を使用して次のことを行うことができます。
これの良いところは、メッセージのスクラブ、データの拡張、ソーシャル プロファイルのプル、電子メール通知の 4 つの特定のタスクを実行する 1 つのワーカー ロールを持つことができることです。メッセージに基づいて機能を選択できます。
1 つのメッセージをキューに入れることができます。キューはそれを worker ロールに渡し、「メッセージのスクラブ」を伝え、キューに戻します。キューはそれを worker ロールに「オーグメント データ」に渡します。
または、サービス バス キューを使用して、「メッセージのスクラブ、データの拡張、ソーシャル プロファイルのプル、電子メール通知」などを行うことができます。
この利点は、Service Bus キューが FIFO の従来のメッセージング機能を管理することです。さらに、必要に応じてメッセージ処理を強化するために劇的にスケーリングできるワーカー ロールの疎結合システムがあります。