私はAzureで実行する必要のあるタスクを持っています。各タスクは複数の部分に分割され、並列に実行する必要があります。部品の数は事前に分かっていません。大きなタスクをAzure関数に分割し、結果を収集する(サービスバス上のバリアを実装する)
私はAzureの機能とサービスバスを使用してこれを実装したいと思います。私は次のアーキテクチャについて考えていました。
サービスバスでタスクを受け取ります。 Func 1は、いくつのサブ部品を作成すべきかを決定し、Func 2は作業を行い、func 3は結果を収集し、サービスバスを使用して渡します。
(可変)数のサブ結果を収集し、すべてが完了したことを知るための効率的なメカニズムが見つかりませんでした。すべてのサブパーツが準備ができている場合は、結合された結果を出力サービスバスに渡します。
すべてのデータが次のステージに送信される準備が整った後でなければ、並列サブコンポーネントの結果を収集するためのAzureにはこのようなメカニズムがありますか? (これはbarrier同期メカニズムのようなものです)。
Azure Batchがよりフィット感がありますか?そして、あなたはたくさんのデータを扱っていますか?はいの場合、MapReduceを使用できるように感じます。それ以外の場合は、データのようなカスタムバリアをどこかに保存する必要があるのではないかと心配しています。 –