SOA Governance and API Management : Administering Mediator : Clustering and Load Balancing : Deployment in a Cluster
Deployment in a Cluster
You can deploy, undeploy and redeploy virtual services, and update consumer application information for a cluster the same way you do for a stand-alone instance of Mediator, as described in the sections Virtualized Services in CentraSite Control or Virtualizing APIs Using the CentraSite Business UI of the CentraSite documentation.
Role of the Shared Cache in Deployment
As part of the deployment process, the cluster synchronizes the nodes with the shared cache to ensure that tasks are not processed repeatedly. The shared cache enables clusters to share deployment information and serves as a repository for all virtual service and consumer application information, such as the following:
*Virtual service information and the associated deployment state of the cluster (Initializing or Running).
*Consumer application information using the virtual services deployed to the cluster.
The shared cache resides on each node in the cluster. When any node in the cluster processes a deployment task, the shared cache of the Mediator that processed the task propagates the data to the shared cache of the other Mediator instances in the cluster, keeping all the nodes in the cluster in sync.
Synchronizing Node
Only a single node in the cluster can process a deployment task at any one time. The node that processes this task is referred to as the synchronizing node. A node becomes the synchronizing node by being the first to process a task and can be a different node for each task.
When the load balancer receives updates to virtual services and consumer applications from CentraSite, it selects the synchronizing node to process the updates. Once the synchronizing node gets the updates from the load balancer, it updates the shared cache with the changed information. The remaining nodes in the cluster monitor the shared cache for updates and deploy the virtual services without interacting with either the load balancer or CentraSite.
Initialization of a Cluster
When you start a cluster, you must first start one of the instances of Mediator and allow it to start completely before you start the other instances of Mediator. If you start all instances of Mediator at the same time, that could result in virtual services not getting deployed in some of the cluster nodes.
When you start a cluster, it automatically initializes itself as follows:
*The synchronizing node locks the shared cache and sets the cluster's deployment state to Initializing.
*The synchronizing node loads to the shared cache any virtual service definitions and consumer application data that might have been previously stored in that node.
*The other nodes in the cluster retrieve the virtual service definitions and consumer application data from the shared cache (if any). This ensures that every node on the cluster is synchronized with the same information.
*The synchronizing node unlocks the shared cache and changes the cluster's deployment state to Running.
If the initialization was successful, the cluster is now fully operational and ready for CentraSite to deploy virtual service definitions and consumer application data, as described below.
Communication During Deployment
The interaction between nodes during deployment is shown in the following diagram:
Step
Description
1
The synchronizing node receives the virtual service definitions and consumer application data from CentraSite.
2
The synchronizing node:
1. Locks the shared cache and changes the cluster's deployment state from Running to Initializing.
2. Performs the deployment operation.
3. Changes the cluster's deployment state to Running and releases the cache lock.
3
The other nodes in the cluster retrieve the virtual service definitions and consumer application data from the shared cache. This ensures that every node on the cluster is synchronized with the same information.
Copyright © 2015- 2016 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback