0

ここに画像の説明を入力

サーバー側のすべての処理 (スクラブ、拡張、ソーシャル プロファイル、電子メール通知) の前に、あるバージョンの Azure Service Bus を使用したいと考えています。

Azure Service Bus に関するドキュメントは、私にとって非常に不可解であり、誰かが私を助けてくれることを願っています。

4

2 に答える 2

1

すべての処理を Web ロールから移動することは、間違いなく良い考えです。Service Bus キューは確実に機能します。別のオプションとして、代わりにAzure Storage キューを使用することもできます。それらは HTTP を介したキューイングの概念の比較的単純な実装であり、.NET クライアント ライブラリは非常に優れているため、理解しやすいかもしれません。価格も安い傾向にあると思います。

そのバックグラウンド処理を分割する方法もたくさんあります。あなたは出来る:

  1. WebRole.Run() メソッドでワーカー スレッドをスピンアップして作業を行うことにより、Web ロールをワーカーとして使用します。
  2. すべてのステージを連続して実行する単一のワーカーを用意します。
  3. すべてのステージを個別に実行する単一のワーカーを用意し、各ステージの間に別のキューを配置します。
  4. 複数のワーカー、またはステージごとに複数のワーカーを配置します。

作業がどの程度リソースを集中的に使用するか、またどれだけ迅速に実行する必要があるかに応じて、1 つのアプローチが他のアプローチよりも優れている場合があります。集中的な処理を行うと、そのリストのさらに下に移動する傾向があります。

于 2012-11-14T00:24:52.107 に答える
0

これは、このプロジェクト/製品の複雑さと、トランザクションの数によって異なります...しかし、あなたが言及したように、Service Bus Queue を使用して次のことを行うことができます。

  1. メッセージを受信し、FIFO キューに一時的に格納する
  2. それらを特定の機能ワーカー ロールに渡します: 「連絡先のスクラブ」ワーカー ロール
  3. メッセージをキュー/ストレージに戻す

これの良いところは、メッセージのスクラブ、データの拡張、ソーシャル プロファイルのプル、電子メール通知の 4 つの特定のタスクを実行する 1 つのワーカー ロールを持つことができることです。メッセージに基づいて機能を選択できます。

1 つのメッセージをキューに入れることができます。キューはそれを worker ロールに渡し、「メッセージのスクラブ」を伝え、キューに戻します。キューはそれを worker ロールに「オーグメント データ」に渡します。

または、サービス バス キューを使用して、「メッセージのスクラブ、データの拡張、ソーシャル プロファイルのプル、電子メール通知」などを行うことができます。

この利点は、Service Bus キューが FIFO の従来のメッセージング機能を管理することです。さらに、必要に応じてメッセージ処理を強化するために劇的にスケーリングできるワーカー ロールの疎結合システムがあります。

于 2012-11-13T21:06:20.853 に答える