I have a two node Openfire cluster setup running over two AWS EC2 instances (say App Server-A & App Server-B).
I have my UI application running on two Web Servers (say Web Server-A & Web Server-B). I am using Strophe.Js to enable chat functionality in my UI application.
I tried using AWS Application Load Balancer (ALB) as well as Classic Load Balancer (CLB) in front of Openfire cluster to cater all the HTTP-BIND requests from UI application/client browser. Question here is does this kind of openfire setup supports CLB, ALB or both for load balancing, or do I have to use any specific load balancer like HAProxy or etc., if this is so then which one will be best suited for this use case?
Also, I have allowed all the incoming TCP traffic (within the App Servers and Outside App Servers) & verified all the security group configurations for load balancers. ALB didn’t worked for me, somehow CLB worked for sometime (only when I registered only one target App Server instance, when checked with both the App Servers being registered, it gave 404- Invalid SID Value) and then stopped working for same set of configurations even with only one registered target instance.
I used load balancer generated session stickness, but it seems like session stickness is not working for this use case.
Can some one suggest how can this setup be functional & used with load balancers being placed to handle fail-over scenarios?
Any leads will be highly appreciable.