分散
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Content Hub™では、トラフィック マネージャーの背後にある分散アップロード サテライト ノードがコンテンツを取り込み、ローカルの BLOB ストレージに保存します。 この BLOB は、Sitecore Content Hub™ ローカル ストレージにダウンロードされるまでコンテンツが一時的に保持される場所です。
基本原則:
-
トラフィック マネージャーを使用すると、公開データへのトラフィックをグローバル リージョン全体に分散して、高可用性と迅速な応答を提供できます。
-
分散アップロード サテライト ノードは、地理的に分散したデータ ネットワーク全体にデータを分散します。 これは、応答時間を改善することを目的としています。
-
データの取り込みとは、さまざまなソースからストレージ メディアにデータを転送し、アクセス、使用、分析できるようにすることです。
このサテライト ノードには、次のタスクを実行する分散モニターが含まれています。
- 保留中のジョブがなくなるまで、保留中のすべてのジョブを 25 個ずつのバッチでフェッチします。
- バッチごとに、すべてのコピー操作を確認します。
-
すべてのジョブを完了します。 完了とは、以下を意味します。
- コピーしたファイルのプロパティを更新します
- エンティティのパブリック リンクを更新します
- エンティティ キーを更新します
- 指示ステータスを更新します (指示がある場合)
- ジョブを完了する
-
FetchWorker* がフェッチ ジョブを処理します。 フェッチ ワーカーは、コピー操作が完了するのを待ってから次のジョブに移動する必要があります。 このコピー操作は、ファイルのサイズによっては時間がかかる場合があります。
コピーがまだ進行中であるために一部のフェッチ ジョブを完了できなかった場合、分散モニターはそれらを再フェッチします。 コピーするファイルのサイズが大きく、完了するまでに時間がかかる場合は、コピーが実行され完了できる保留中のジョブが他にある場合でも、繰り返しフェッチされます。
この問題を解決するために、Sitecore Content Hub™ は分散ジョブに優先度レベルを割り当てます。 分散モニターは、2 つの分散ワーカーを通してジョブの優先度レベルをサポートします。
- HighPriorityDistributionMonitorMessageWorker: 指示や分散アップロードなどの優先度が高いジョブを処理します。
- DistributionMonitorMessageWorker: 通常のファイル配布などの優先度が低、中または不明なジョブを処理します。
この例では、ジョブ 4 とジョブ 5 は優先度が高いため、* HighPriorityFetchMessageWorker* によって完了されます。 ジョブ 1、ジョブ 2 とジョブ 3 は FetchMessageWorker が完了します。
仕組み
仕組み
エンドユーザーがアセットを Sitecore Content Hub ポータルにアップロードします。 このアップロードにより、2 つの呼び出しが連続してトリガーされます。
-
最初の呼び出しは DistributedUpload エンドポイントに対して行われ、グローバルに提示されたサテライト ノードの 1 つにコンテンツをアップロードします。 この要求はトラフィック マネージャーに対して行われ、特定のパラメーターに基づいて最適なサテライト ノードで解決されます。 コンテンツは、ネットワーク遅延を回避するために同じデータ センターに最適にプロビジョニングされた一時的な BLOB ストレージに保存されます。 コンテンツが正常に送信されると、次の形式でキーが返されます。 {regionName、blobIdentifier、fileName}。 RegionNameは、コンテンツがアップロードされるデータ センターの場所を示します。
BlobIdentifier は、BLOB コンテナ内の BLOB の一意の識別子です。 FileName は、M でのアセット/ファイル エンティティの作成中に使用されます。生成されたキーの例: {EastAsia,"20d42a00-60b4-427c-8bb6-fa3e62747313",test.jpg }
-
2 番目の呼び出しは、トラフィック マネージャーを介して、アップロードされたコンテンツのキーを使用してローカル アップロード エンドポイントに対して行われます。 UploadController は、distributedUploadContext (JSON オブジェクト) を検証し、アセット エンティティを作成し、FetchJob を起動してサテライト ノードのコンテンツをフェッチします。
fetchWorker は、fetchJob メッセージを取得し、ジョブ記述オブジェクトを解析して、フェッチ プロセスを開始するためのキーを取得します。 一時 blob ファイルは Sitecore Content Hub のローカル ストレージにダウンロードされ、操作が完了すると削除されます。
ファイルが Sitecore Content Hub のローカル ストアに配置されると、ファイル配布フレームワークが開始されます。 配信の目的で、設定されたすべてのサテライト ノードにファイルとレンディションを配布します。
ダウンロード指示の分散
ダウンロード指示の分散
ダウンロード指示パッケージは、コンテンツの可用性を高速化するために、地理的に異なるサテライト ノードに分散されるよう設定されています。
分散とは、たとえば、米国のユーザーがヨーロッパに地理的に保存されているアセットをダウンロードしないことを意味します。 このローカル ストレージにより、ダウンロードの可用性が向上します。