Distribution
To help ensure at an efficient transfer of content:
-
The traffic manager distributes data across available satellite nodes so that when you upload content, it selects the closest node to reduce response times.
-
From the global data center, the content is stored temporarily in blob storage until you request a download.
-
When you request a download, content is copied from the blob storage to your local Sitecore Content Hub storage.
You cannot edit the distribution settings. This topic is for information only.
When you upload content, two calls are made consecutively:
-
A request to the DistributedUpload endpoint to upload the content to one of the satellite nodes. This request is made to the traffic manager to find the most suitable satellite node based on various parameters. Content is saved in the temporary blob storage, ideally on the same satellite node to reduce network latency. When the content has been successful submitted, a key is returned in the format {regionName,blobIdentifier,fileName} where,
- RegionName is the data center where the content is uploaded.
- BlobIdentifier is the unique identifier of the blob container.
- FileName is the default file name of the asset in Content Hub.
-
A request to local upload endpoints using the keys of the uploaded content. The upload controller validates the distributedUploadContext JSON object, creates an asset entity, and launches a fetch job to retrieve the satellite node content. The fetch worker picks up the fetch job message, parses the job description object to obtain the key to initiate the fetching process. The temporary blob file is downloaded to the local Content Hub storage, then deleted upon successful completion. When the file is in the local store of Content Hub, the file distribution framework is initiated, distributing the file and renditions to all configured satellite nodes for delivery.
The traffic manager:
- Fetches all pending jobs in batches of 25 until there are none remaining.
- Verifies all copy operations for each batch.
- Finalizes all jobs by:
- Updating the properties on the copied file.
- Updating the public links of the entity.
- Updating the entity keys.
- Updating the order status (if the job is an order).
- Completing the job.
The traffic manager uses a fetch worker to handle fetch jobs. Fetch workers follow the default prioritization.