First off, sorry for taking so long to respond. Paul has been a busy
boy. Response below.
On Tue, 2010-09-21 at 03:31 -0400, Itamar Heim wrote:
I understand mod_cluster can distribute load across several jboss nodes.
This seems great for load balancing incoming requests, but I'm looking for
a solution to load balance internal system processes.
Say I have a cluster of 4 nodes, monitoring 400 hosts and updating a
central database with the statistics.
So as a general rule, the system should
- Balance so each node would monitor ~100 hosts.
- Take each node load into consideration during load balance
- Prefer some affinity/stickiness
- Balance itself when a node goes down/up
So all very similar to mod_cluster, only I'd like to balance internal
work, rather than incoming requests.
is this something mod_cluster could help with?
mod_cluster, in its present form, won't be much use here - though the
concepts are similar.
The above seems like it could be implemented fairly easily using JBoss
clustering. You would implement your workload manager as an HASingleton
(i.e. so that only 1 node in your cluster will assume this
responsibility at any given time). The singleton master would
periodically send rpcs to each slave node which would respond with their
"load", however you want to represent this. The
DynamicLoadBalanceFactoryProvider from the mod_cluster code base could
be reused here (i.e. calculating a single time decayed value from
disparate load metrics). The singleton master can respond to view
changes, and inform slave nodes via rpc of new/changed workload. It
does not seem like this would be terribly complicated.
If this is the route you want to take, you can direct any questions
regarding JBoss clustering to the appropriate forum.
mod_cluster-dev mailing list