0

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/

2 Answers2

2

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.

ycr
  • 12,828
  • 2
  • 25
  • 45
  • Thank you for your good guidence. Is there any problem for having several wso2 apim(like in my question)? your offer is more complex. Is it reasonable to have 5 or more wso2 apim like active-active for scaling simply? @ycr – m.feyzollahi Feb 22 '23 at 14:53
  • @m.feyzollahi this depends on your requirement. Check the updated answer. – ycr Feb 22 '23 at 15:06
1

Why do you need to add 10 nodes? Is there a reason? We usually go for a multi-node cluster when there a huge traffic volume. If not, a 2-node cluster in active/ active setup is good enough. What's your current transaction volume?

Coming back to the best approach for setting up a multi-node deployment is to use a fully distributed deployment pattern where you have a Control Plane cluster with 2 nodes in active/ active mode and multiple Gateway nodes to cater the traffic. If you are having a very high load, you can even separate the Traffic Manager component into a another 2 node clusetr in active/ active mode.

Joy Rathnayake
  • 485
  • 4
  • 8
  • out traffic is 1000 request per second. and we have many mediators and several logging per request. but we have enough RAM. – m.feyzollahi Feb 22 '23 at 15:10
  • 1000 TPS can be easily managed by a 4 node cluster - 2 nodes for Control Plabe and 2 nodes for Gateway. If you are using a lot of mediations, then we can scale it further by adding another 1-2 nodes for Data Plane (Gateway). But you have to go. for a distributed deployment and if not, API management will be very difficult. – Joy Rathnayake Feb 22 '23 at 16:16