-
1. Re: Load Balancing?
brian.stansberry Sep 18, 2007 10:06 AM (in response to brucespringfield)That service was discontinued in 4.0.4. Suggest you use mod_jk: http://wiki.jboss.org/wiki/Wiki.jsp?page=UsingMod_jk1.2WithJBoss . It's possible the internal loadbalancer service from 4.0.3.SP1 will work in 4.2.1; I don't know.
-
2. Re: Load Balancing?
brucespringfield Oct 19, 2007 6:52 AM (in response to brucespringfield)Could mod_proxy_blancer also be used?
-
3. Re: Load Balancing?
brian.stansberry Oct 19, 2007 10:17 AM (in response to brucespringfield)Yes, although at this point mod_jk remains the preferred solution.
-
4. Re: Load Balancing?
brucespringfield Oct 28, 2007 6:46 AM (in response to brucespringfield)"bstansberry@jboss.com" wrote:
Yes, although at this point mod_jk remains the preferred solution.
Thanks very much for your comment!! Yes, mod_jk seems to work better with JBoss.
Is it possible to create a cluster of jboss clusters with load balancing using mod_jk?
I created a cluster of jboss servers with load balancing using mod_jk. But now, I want to createa a cluster the clusters with load balancing. Can I do this with mod_jk? And if so, then would the workers or nodes for the load balancer be the apache servers that act as load balancers in the individual clusters? Can I designate the apache servers as nodes? -
5. Re: Load Balancing?
brucespringfield Oct 28, 2007 6:51 AM (in response to brucespringfield)"BruceSpringfield" wrote:
But now, I want to createa a cluster the clusters with load balancing.
That should be :
But now, I want to create a cluster of clusters with load balancing.
It would be nice if we could edit our posts :) -
6. Re: Load Balancing?
brian.stansberry Oct 29, 2007 12:41 PM (in response to brucespringfield)I can edit my posts; I don't know if that comes with admin powers or something?
Anyway, AIUI, you're talking about some sort of front-end load balancer that balances calls to a series of Apache/mod_jk boxes, each of which manages a subset of AS instances, balancing to those. Any session replication only occurs within that subset. Correct?
Question here, is do the mod_jk instances know about all the AS instances, or just a subset? I.e., say you have 100 AS instances and 10 mod_jk; does each mod_jk only know about 10 AS instances, or 100?
If each mod_jk only knows about 10, you have a problem. If for whatever reason a session becomes unstuck on the front-end load balancer (say mod_jk #1 fails, or there's a flaw in the sticky session handling on the front end), then a request could go to any of the mod_jk instances. If that mod_jk doesn't know how to reach the subset of AS' that have the sessions, the session is lost.
So, each mod_jk has to know about all AS instances.
Next issue is how to ensure that if there is a failover at the AS level that the AS instance mod_jk picks is in the same subset as the original AS. Has to be in the same subset or the failover AS won't have a copy of the session.
To do that, you can use mod_jk's 'domain clustering' feature. (Only do the following with mod_jk 1.2.19 or later; before that the session stickiness didn't work right.)
Say you have 4 workers in workers.properties, named node1 ... node4. You want to group them into 2 groups, group1 and group2. On the AS nodes, the sessions are only replicated within those groups.
In workers.properties, add:
worker.node1.domain=group1
worker.node2.domain=group2
worker.node3.domain=group3
worker.node4.domain=group4
In the server.xml file on both node1 and node2, set the jvmRoute="group1" instead of "node1" and "node2". On node3 and node4 use "group2".
If you use this, mod_jk will ensure your session stays within the set of "groupX" nodes if a failover occurs. -
7. Re: Load Balancing?
brian.stansberry Oct 29, 2007 12:44 PM (in response to brucespringfield)Need to review before hitting submit. Following is non-sensical:
"bstansberry@jboss.com" wrote:
In workers.properties, add:
worker.node1.domain=group1
worker.node2.domain=group2
worker.node3.domain=group3
worker.node4.domain=group4
Should be:worker.node1.domain=group1 worker.node2.domain=group1 worker.node3.domain=group2 worker.node4.domain=group2