Distribution supports a High Availability network configuration with a cluster of 2 or more, active/active nodes.
All cluster nodes in an Distribution HA configuration are synchronized, and jointly share and balance the workload between them. When a node becomes unavailable, the cluster will automatically spread the workload across the other remaining node(s).
Setting up several servers in an HA configuration is supported with an Enterprise+ license and presents several benefits to your organization. Distribution high availability allows users create a cluster of Distribution instances and provides:
The Distribution HA architecture consists of 3 layers: load balancer, application, local file system and external MongoDB.
The load balancer is the entry point to your Distribution HA cluster, optimally distributing requests to the Distribution microservices on the cluster nodes.
It is the responsibility of your organization to manage and configure it correctly.
Distribution HA presents a cluster of two or more Distribution nodes that share common resources. Each cluster node runs 2 Distribution microservices:
Distribution - Responsibilities include:
Hosting the API and UI endpoints
Sending distribution tasks via Redis to the Distributor
Syncing the other Distribution nodes with changes
Distributor - Responsibilities include:
Processing distribution tasks
Communicate with Artifactory edge nodes
Communicate with the source Artifactory
Local file system in which binaries are stored with redundancy using a binary provider which manages synchronizing files between the cluster nodes according to the redundancy defined.
Distribution HA requires an external database, which is fundamental to management of binaries and is also used to store cluster wide configuration files. Currently PostgreSQL is supported, and any change to configuration only requires restarting a single Distribution node for changes to take effect for the whole Distribution cluster.