Clustering for Other Services
The following sub-sections are relevant when clustering WSO2 Private PaaS with Enterprise Service Bus (ESB), Identity Server (IS), Business Process Server (BPS) and Application Server (AS). Note that ESB has been taken as an example when explaining the clustering setup for the latter mentioned WSO2 Private PaaS services.
Worker Manager Separation
WSO2 Private PaaS provides a generic implementation for worker manager separation. Users will be able to perform management tasks only in the manager nodes, which will be present in a different Stratos cluster. Users do not have access to management console in worker nodes, but workers will participate in serving incoming requests for non-managerial tasks. Ideally, all managers should be in a secure network segment behind a firewall in the underlying infrastructure.
Enabling Worker Manager in ESB
To enable worker manager behavior in ESB, the ESB cartridge JSON should have the following properties:
- Service Group
"serviceGroup": "esbgroup"
Both the worker and the manager should belong to the same service group. - Hostname
The worker and the manager should have different host names.- Worker
"host": "esb.wso2.com"
- Manager
"host": "mgt.esb.wso2.com"
- Worker
- Payload parameters
The required payload parameters are as follows:- SERVICE_GROUP
Both the worker and the manager should have the sameSERVICE_GROUP
payload parameter in the respective cartridge JSONs."name": "payload_parameter.SERIVCE_GROUP",
"value": "esbgroup"
- DEPLOYMENT
- The manager cartridge JSON should have “manager” as the
DEPLOYMENT
payload parameter."name": "payload_parameter.DEPLOYMENT",
"value": "manager"
- The worker cartridge JSON should have “worker” as the
DEPLOYMENT
payload parameter."name": "payload_parameter.DEPLOYMENT",
"value": "worker"
- The manager cartridge JSON should have “manager” as the
- MANAGER_SERVICE_TYPE
The worker cartridge JSON should haveMANAGER_SERVICE_TYPE
set to the service type of the manager.
For example:
In ESB"esbmgt"
is the service type of the manager."name": "payload_parameter.MANAGER_SERVICE_TYPE",
"value": "esbmgt"
- WORKER_SERVICE_TYPE
The manager cartridge JSON should have theWORKER_SERVICE_TYPE
set to the service type of the worker.
For example:
In ESB"esb"
is the service type of the worker."name": "payload_parameter.WORKER_SERVICE_TYPE",
"value": "esb"
- WORKER_HOST_NAME
The hostname of the worker should be defined in the manager cartridge JSON.
For example:"name": "payload_parameter.WORKER_HOST_NAME",
"value": "esb.wso2.com"
- PRIMARY
Both the worker and the manager should have thePRIMARY
property and theCLUSTERING
payload parameter property set to “true” in order to enable clustering with the worker and manager nodes. If you are going deploy a product service in a worker manager setup, you must enable clustering for those services."name": "PRIMARY",
"value": "true"
"name": "payload_parameter.CLUSTERING",
"value": "true"
- SERVICE_GROUP