I'm facing this:
My job was to get a clustered environemt for a J2EE app that is running on
top of JBoss.
After getting some simple test programs to work, where I tested
sucessfully a lvs-dr setup (with the http clustering and ejb clustering
features that I need), I tryed the app... to find out that there were
some session information that would not replicate...
Being impossible to rewrite the app, am facing the following possibilities
to have something aceptable working:
a) Using persistence - very bad, as I would have
a1) To use a very large timeout to handle long user sessions
a2) As persistence is "per-ip", a lousy load balancing when having a
proxy in the middle (that I know I'll have)
b) Try some way to have some control over WHEN the timeout and the
stickiness of the session work: It would be needed that somehow the lvs
director would be informed that
"a new http session 'bla' started ... -> start a tcp session
session 'bla' ended .... -> end the tcp session"
Question: is this the job of FWMark ?
c) Switch to a upper lever balancing, with cookie (l7) support. Then set
up a lvs in front of a set of layer-7 load balancers.
I will lose fault tolerance anyway. My app is unable to replicate info, so
I'll never have a chance to do it.
The question is: Is there a way to "pin" http sessions (insted of
user-session), even if some workaround is needed? Or I'll really need to
get to l7 load balancing?
If so, any suggestion for some user that has dealt with the same problem?
Joao Pedro Clemente
jpcl @ rnl.ist.utl.pt
(when not working out)
(when not sleeping)
(when not surfing)
(when not ... ;)