[Zope] load-balancing recommendations ? (configuration and hardware)

chas panda@skinnyhippo.com
Sun, 11 Jun 2000 02:18:30 +0900


Hi Folks,

I've often heard about the infinite-scalability that will
be created by something like ZEO and I've always wondered
about one thing : how is the load-balancing being done ?

Just say we have 3 front-line servers (ZSERVER_1, ZSERVER_2
and ZSERVER_3 in the diagram below), each running Zope with 
identical application logic replicated by ZEO (or simply 
copied across manually); the front-line servers all use the 
same database (DB) for storing sessions.  Our load-balancer 
distributes incoming requests between the 3 servers :

                            +---[ZSERVER_1]----+
                            |                  |
REQUEST-->[LOADBALANCER]----+---[ZSERVER_2]----+------[DB]
                            |                  |
                            +---[ZSERVER_3]----+

What are people using for the load-balancer (and I'm
looking for real load-balancing, not DNS round-robbin) 
so that the multiple front-line servers appear as one 
big server... ie. so that they are transparent to the 
outside world. 

In particular, so that cookies set by any one of the 
front line servers will be shared by the others. (ie. they 
can not have different fully-qualified domain names or 
else cookies set by one will not be shared by another).

Does anybody with experience have any recommendations 
for the load-balancer ?  

Thank you very much,

chas


ps. In the past I've got around this by ensuring that if the
    very first request from a given browser is dealt with by, say, 
    server silo8.domain.com, then all subsequent requests from that
    browser are also dealt with by by that server. But that 
    (a) introduces head-aches with application logic and (b) is
    not good if silo8.domain.com suddenly goes down.