If you are setting up multiple WSO2 products in a cluster, it is recommended to set up each product on a separate server. For example, WSO2 ESB is used for message mediation, so a considerable amount of processing happens in the ESB. The DSS does data service hosting and has a different architecture layer from the ESB. If you deploy both the ESB and DSS in the same instance/runtime, it can negatively impact the performance of both, and it also makes scaling difficult. However, you can set up hybrid servers (installing selected DSS features on top of the ESB and vice versa) using WSO2 products without the above performance concerns.
The following is an example of a . This example uses WSO2 Application Server (AS), but you can use this same approach for any Carbon-based product. The example system setup will include:
Two servers (in our example, we use two servers with IP addresses xxx.xxx.xxx.132 and xxx.xxx.xxx.206)
One WSO2 Elastic Load Balancer (ELB) instance
Three WSO2 AS instances as workers to handle service requests
One WSO2 AS instance for managing configuration across the clustered nodes via Deployment Synchronizer
A Subversion (SVN) repository
This system will behave as a single, high-performing AS available at IP address xxx.xxx.xxx.206 via default HTTP or HTTPS ports. The ELB performs load balancing by handling the incoming requests and routing them to the worker nodes. The worker nodes process the requests that were routed to them and send responses back to the client through the ELB.
All admin requests are sent to the manager node via HTTPs on port 9444. The manager node synchronizes the same configuration across the clustered worker nodes.