これはアーキテクチャ上の疑問です。許可されていない場合は、質問を許可するように更新する方法についてアドバイスをお願いします。複数のwebジョブを介した通信としてServicebusを効率的に使用する方法
特定の順序で同じ情報を処理する7-8のWebジョブが実行されています。これをサービスバスで行うための好ましい方法は何ですか?このためにサービスバスを使用するのがベストプラクティスですか?
を参照してくださいEDIT、これは パケットは、当社のクライアントから入ってきた2つのジョブを通過した後、3に送信されますが変更されましたジョブは(必ずしもすべてが必要なわけではなく、彼らは仕事を共有しています。)いくつかのパケットはFacebookに、いくつかはFTPに、そしていくつかは両方に送られます。 3つのジョブが提供する情報
状態をデータベースに書き込むことができますが、具体的にはservicebusに切り替えて作業しますパケットとのトランザクション、クラッシュなどで簡単に回復することができます。
また、最良の方法は、4つの異なるサービスバスまたは1つのバス(もし可能であれば)でも同じパケットを状態フィールドで再キューしますか?たとえば、状態フィールド「Job1 = OK」を追加し、ジョブ2はそのフィールドにサブスクリプションを持ち、ジョブ1を渡すとパケットを取得します。これは理想的なことです。パケットが最後まで残っているので、サービスバスへのトラフィックも減るでしょう。
何らかの検索の後、メッセージを転送することができましたが、同じトピックに転送することもできます?それにデータを追加できますか?私がメッセージを転送すると、それは価格設定の余分なメッセージとしてカウントされますか?
EDIT:これまでの流れを更新:
だから、もう3つのジョブを待つ必要はありません。 1つのジョブは、明らかに待っている必要はなく、残りの2つは結合されています。
をアプリリライトする必要があります。たとえばジョブ1はビデオ処理ジョブで、ジョブ2はFacebookブック共有です。ジョブ3はそのFacebookブックシェアを郵送しています.1つのジョブですべてをマージすると、再び状態をデータベースに保存してクラッシュ時に再びピックアップする必要があります。私たちはデータベースに絶えず書いていることから離れ、私が考えるベスト・アプローチではないサービス・バスのトランザクション・アイデアを使用したいからです。しかし、3つの「分割された」ジョブは現在統合されています。 – Lonefish
@Lonefishその1つの仕事だが、内部に別のプロセッサがあるので、技術的には少し変わるだろう。 –
@Lonefishしたがって、次のジョブイベントを送信する必要がある処理イベントの最後に、3つの静的メソッドProcessJob1([QueueTrigger( "Job1")])、ProcessJob2([QueueTrigger( "Job2")]) –