I am also doing some research on jboss 5.1 clustering (mainly for server failover and sessoin replication) and I am in the same situation as mention by you in this thread. If you already got some idea about this, can you please share it ? I want to deploy an EAR (contains war and EJB jar) on a cluster of 2-3 servers
Currently, we are trying to analyze the use of mod_jk vs Oracle's WebCache as a HTTP load balancing option. From the documents I've read, it appears that the load-balancing strategies mentioned for EJB's would only serve as a help to the load balancer, but does not load balance by itself.
Since your applications are stateful and you need session replication, JBoss 5.1 is already doing good at it. Please look at the clustering guide offered by JBoss docs. I went through "JBoss in Action" and felt it had some good documentation for clustering. We didn't need session replication, so opted out of clustering.
Rohit Macherla wrote:
What confuses me is the fact that this user guide advocates the use of Apache and mod_jk for HTTP load balancing (Refer Chapter 20). I read about JBoss's "client side interceptors" vs "external load balancers", but came under the impression that usage of Client side interceptors balances the load. If we do need a load balancer, then I think that statement in the introduction really misled me, isn't it ?
If I understand you correctly, you want load-balanced HTTP requests to your servlets / webservices.
I believe you are confusing "client side interceptor" ( used with EJB, JNDI, RMI clients ... anywhere where a stub or code is downloaded by the client from a server and such stub / code has knowledge of the network topology of the cluster ) and "external load balancers" ( in this context, HTTP load balancers .. e.g. mod_jk / Cisco hardware, etc ).
To load-balance HTTP requests / posts, you do need an HTTP load balancer ( like Apache mod_jk or a Cisco hardware ) that knows / configured with knowledge of what webservers are available, and potentially recognize / understand HTTP stickyness ( in the event you want the same HTTP session to hit the same webserver ).
Hi Rohit and Jesus,
I have an ear file (contain war and several jar files including ejb.jar) that I want to deploy in JBoss cluster for session replication and server fail-over. I am confused with the apprach that I should follow for this, a load balancer or client side interceptor ?
Thanks in advance.
Jesus, that's a very good response.
Kaddy, read Jesus' reply. It all comes down to what technology is used to serve incoming requests, whether these are HTTP requests, or remote EJB calls...etc