0
votes

I have been trying to setup an active active setup for WSO2 API Manager. This has been elaborated here: https://docs.wso2.com/display/AM210/Configuring+an+Active-Active+Deployment#Linux-Mac

Few observations:

  • The setup looks to be on two different nodes, with all components deployed on each node.

  • The setup indicates that Publisher should be pointed to one of the two nodes for both the nodes. If that is the case, lets say that node-1 (publisher) node goes down, how will second active instance help?

  • It recommends using NFS for content synchronization. NFS becomes a single point of failure in that case. Why is content synchronization needed though? Is it only for advanced siddhi query based throttling policies?

Finally, if I do two independent, all-components-in-one setup of API Managers with shared database and content synchronization using rsync/unison; but no throttling data publishing, what are the downsides?

Is this kind of setup fit for Active - Passive?

Thanks

1

1 Answers

1
votes

If you use rsync or any deployment synchronization mechanism which is one way, this becomes a single point of failure. Most of the use cases, API publishing happens at the development time and this is actually a limitation.

That's why we can use NFS or file share mechanism. You can point the localhost and write the Synapse file to the file system. Then it shares among the two nodes. When you publish an API, Synapse artifact is created and deployed in the gateway node. In your case, one of the nodes.You can find a sample file in APIM_HOME/repository/deployment/server/synapse/default/api location.

If you disable throttling data publishing, i.e advanced throttling, your APIs can be accessed without any limitation. Simply there is no limit. But burst control and backend throttling will apply.

Yes, this fits for A-P. You can control A-A or A-P from the load balancer.