Pull replication provides a convenient way to proactively populate a remote cache, and is very useful when waiting for new artifacts to arrive on demand (when first requested) is not desirable due to network latency.
There are two ways to invoke a pull replication:
Scheduled pull: Pull replication is invoked by a remote repository, and runs asynchronously according to a defined schedule to synchronize repositories (local, remote or virtual) at regular intervals.
Event-based pull: Requires an Enterprise License.
Pulls occur nearly in real-time since each create, copy, move, or delete of an artifact is immediately propagated to the far end. As soon as a file is uploaded, it is replicated and immediately available to the target (pulling) instance without having to wait for the file upload to be completed at the source.
Advantages of Pull Replication
Many target servers can pull from the same source server efficiently implementing a one-to-many replication.
It is safer since each package only has one "hop".
It reduces traffic on target servers since they do not have to pass on artifacts in a replication chain.
When and when not to use Pull Replication
Pull replication is recommended in the following cases:
When you need to replicate a repository to many targets.
When your source repository is located behind a proxy that prevents push replication (e.g. replicating a repository hosted on Artifactory SaaS to a local repository at your site)
Pull replication cannot be used to replicate a remote resource that is not an Artifactory repository. Artifacts from third-party repositories can be cached on-demand using the normal cache and proxy behavior of a Remote Repository.