Jess Holle wrote:
jean-frederic clere wrote:
Jess Holle wrote:
An ability to balance based on new sessions with an idle time out on
such sessions would be close enough to reality in cases where
sessions expire rather than being explicitly invalidated (e.g. by a
logout).
Storing the sessionid to share the load depending on the number of
active sessions, brings a problem of security, no?
To the degree that you consider Apache vulnerable to attack to retrieve
these, yes.
I prefer the health check request approach below for this and other
reasons (amount of required bookkeeping, etc).
Of course that redoes what a servlet engine would be doing and does
so with lower fidelity. An ability to ask a backend for its current
session count and load balance new requests on that basis would be
really helpful. Whether this ability is buried into AJP, for
instance, or is simply a separate request to a designated URL is
another question, but the latter approach seems fairly general and
the number of such requests could be throttled by a time-to-live
setting on the last such count obtained.
Actually this could and should be generalized beyond active sessions
to a back-end health metric. Each backend could compute and respond
with a relative measure of busyness/health and respond and the load
balancer could then balance new (session-less) requests to the least
busy / most healthy backend. This would seem to be *huge* step
forward in load balancing capability/fidelity.
It's my understanding that mod_cluster is pursuing just this sort of
thing to some degree -- but currently only works for JBoss backends.
This wrong it works with Tomcat too.
mod_cluster works with Tomcat, but according to the docs I've seen the
dynamic (health/session metric based rather than static) load balancing
only worked with JBoss backends.
Or has this changed?
No it is still like that but the singleton logic used in JBossAS
requires a JBoss clustering logic but it should be available in the next
version.
Cheers
Jean-Frederic