First off I'm having wonderful success with using mod_cluster to manage HTTP connections. Many thanks for the hours of administering load balancers I will not need to spend now.

My question is whether anyone has attempted to either use or integrate with mod_cluster in order to provide balancing of non HTTP connections. I don't see documentation that says mod_cluster would do this but I could also imagine an integration with other software that would export the state of a cluster in some way. I expect something would need to be done to handle the potential lack of web application contexts. My preference for my current application would be to utilize the JBoss HA partition name in some way since that defines the boundaries of my cluster for most other services (JNDI).

What sort of clients/connections are you talking about? The cluste-aware proxies you get when you use clustered EJBs or clustered JBoss Messaging already provide a lot of the functionality mod_cluster does.

I think occasionally about writing a proxy server that could proxy things like EJB requests. Would remove the need for the proxy that runs in the client VM to be able to directly contact all nodes in the cluster. But I have no idea when I'll get to that.

My usage could be somewhat custom. An example would be DICOM image transmission (healthcare images). Another might be Java RMI ports. I have some legacy software that utilizes RMI that would benefit from load balancing. I currently have load balancers set up using some Linux tools such as Linux-HA. Managing those tools is not nearly as simple as having the nodes manage themselves.

Really I don't see a reason why load balance factors couldn't be exposed in a way such that any tool could get at them easily. If the load balancer could publish them via a RESTful web service they could be easily consumed from any other piece of software, even a shell script. This would open up possibilities for integrations with non HTTP oriented software.

At some point I'd love to see the Apache server go away in favor of an actual JBoss AS instance. This would make exposing web services and/or customization of the load balancer much easier IMO. Sun actually does something like this with their Glassfish load balancer.