I installed WSO2 API manager 4.1.0 on two nodes following these instructions. I skipped steps 5 and 6 since I don't use secondary user-stores, step 8 since I don't need throttling for now (maybe in the future) and steps 10 and 11 (I don't need analytics and production hardening). For the WSO2AM_DB and WSO2SHARED_DB databases I use Microsoft SQL Server.
I started both nodes and then I published a Hello World API using the Publisher Portal on one node (say 192.168.2.128) and expected the published API at both nodes (i. e. 192.168.2.129 as well as 192.168.2.128). Now I can call the API on 192.168.2.128 successfully, but the other node replies with HTTP 404.
It seems to me that the deployment/publish process running on a node doesn't give a nudge to the other node to refresh API Gateway runtime according to the data in the database. I discovered that the only way how to finally propagate the new API to the other node is to restart it. I suppose that this on is neither desired nor acceptable method.
How to make the cluster run as expected? Is there a missing step in the documentation? Is there a config parameter to be added or changed?
Can you try adding the throttling related configurations also as mentioned under Step 8?
The event duplication urls might be needed to send event notifications among the the two nodes. Better to add all throttling configurations and check.