Deployment Synchronizer
Deployment synchronizer (New in version 4.0) can be used to synchronize the main repository of a Carbon server with a collection in the registry. This feature is sometimes also referred to as the registry based repository synchronizer. The deployment synchronizer has a number of use cases:
- Maintaining an up-to-date backup of the Carbon repository
- Sharing a single Carbon repository among multiple servers (through a shared registry)
- Enforcing artifact updates in the registry to be deployed on a server at runtime
How Does It Work
Assume a cluster of Carbon servers that share the configuration registry. With the deployment synchronizer, it is possible to maintain all the nodes in the cluster in sync through the shared registry. One of the nodes can be designated as the master node and it can upload its local repository to the registry using the deployment synchronizer. Other nodes (slave nodes) can then download the same repository from the registry and deploy locally. To support this use case, synchronizer has to be run in auto commit mode in the master node. When in auto commit mode, it will periodically upload the changed artifacts in the local repository to the registry. Similarly slave nodes should run the synchronizer in the auto checkout mode. If needed, registry eventing can be employed to run the checkout operations so that a checkout will be made only when some artifact has changed in the shared registry.
Note
Carbon repository is located in the repository/deployment/server
directory by default. Once enabled, deployment synchronizer uploads the contents of this directory to a collection named repository/deployment/server
in the configuration registry (this is configurable).
The user can enable and disable the deployment synchronizer.