Search code examples
wso2load-balancingwso2-esbwso2-api-managerwso2-enterprise-integrator

Can we have more than two active WSO2 APIM machine (node) at once? if yes, what is the bottlenecks and challenge?


Our goal in WSO2 deployment in several nodes is improving scalability . according to this link, Is it good idea to have 10 nodes of wso2 api manager to increase scalability and create load balancer? We have enough resources, such as CPU and RAM. What is challenges? is this a good idea? We chose this way for simplicity. previously we studied this approach, but it is not simple enough! We want to follow this approach and use about 10 nodes of APIM docker. Is this way true and rational and possible?

https://apim.docs.wso2.com/en/latest/install-and-setup/setup/single-node/configuring-an-active-active-deployment/


Solution

  • Generally, the load will be on the Data plane(Gateway) where the actual requests are handled. So the best option is to do a proper clustered deployment and scale the components like Gateway accordingly. You can horizontally scale the components as needed. Take a look at this deployment pattern.

    Update

    If you go down that path, creating multiple All-In-One deployments, first of all, you are wasting resources. Then each All-In-One deployment will have their own Control Plane(Publisher/Dev-Portal etc.). So, unless you have an Automated process you will have to create APIs manually in every deployment. Also, each cluster is not aware of the other APIM clusters so some distributed features like throttling will not work across all deployments.

    Although you say it's complex, it's not :) You can have one Control Plane(May be 2 for High Availability) and then n number of Gateways, this is going to be very easy to mage than the other approach.