powered by Jive Software

Hazelcast clustering with HTTP Binding/BOSH


I am trying to set up a cluster using the Hazelcast plugin with 2 Openfire servers. My clients are connecting using BOSH. The servers are joining eachother and I can see both servers in the Openfire Admin > Server Manager > Clustering.

The issue I’m facing is that it appears clients are not able to switch between the servers. I think the Jabber session is preserved, but the HTTP Binding is using the HTTPSession and that is not clustered using Hazelcast. I am able to successfully get things working if I enable sticky sessions on my Apache - mod_proxy_balancer load balanacer, but the session will not fail over if one server goes down.

I searched the forum and found 2 other similar questions without answers.

Is this the expected behavior, or should BOSH sessions also be clustered?

Yes, this is currently the expected behavior due to limitations in the BOSH implementation. There is a ticket open to address this (http://issues.igniterealtime.org/browse/OF-689), but I haven’t had a chance to really dig into a solution yet. Best bet is to use sticky sessions for now.

Thanks for your response! It’s not the answer I was hoping for, but it’s very helpful to have a definitive answer.