[Zope] ZEO and a front end...

Bill Anderson bill@libc.org
Mon, 17 Jul 2000 18:22:03 -0600


Curtis Maloney wrote:
> 
> On Tue, 18 Jul 2000, Bill Anderson wrote:
> > > Your multiple Zopes can all serve all of these sections, however
> > > theres not enough storage for each machine to hold all the sections
> > > simultaneously.
> >
> > As I understand ZEO, each machine _doesn't_ hold the site. The ZEO
> > clients (servers) communicate with a central ZSS (Zope Storage Server).
> > So in this contrived example, the problem is non-extant. ;-)
> >
> > > You can make better use of ZODB's in-memory cache and the ZEO pickle
> > > cache if the requests for /section1 usually go to the same server.
> >
> > AIUI (I'm no ZEO expert, I just use it ;) ), you can have each server
> > cache a certain amount, thus ameliorating the problem somewhat.
> 
> Yes, however his point is that by having each Zope instance 'predominantly'
> serving one portion of the site, its cache will contain more objects
> relevant, and thus be just that little bit faster.

Which is why I said 'somewhat' ;-) Now, depending on if you set a shared
FS across the systems, this cache could theoretically be shared. If for
example, you usef afs/codafs, you could have each server using the same
FS, reading the same cache, unless something in ZEO prevents two
processes form using the cache, of course. Now, AFS/Codafs are not for
the faint of heart, but I get the feeling that someone willing to try an
IPVS setup is likely made of sturdier stuff. ;-)

> Personally, I find this such a simple idea that it MUST be good. (o8
> So much so, in fact, that I've decided to have a crack at writing just such a
> redirector.  I feel the Zope world (and others, most likely) could benefit
> from a 'preferential' redirector.

Roxen can do this to some extent. Not sure how well, since I am not
using that aspect of it, but I do see it in the modules. I do know thet
eddieware can also do this:
"""
The Eddie Intelligent HTTP Gateway package allows specialised functions
to be allocated to specific Back End Servers. As each user request
arrives, it is parsed by the Front End Server which then: 
	o Splits multiple requests within HTTP 1.1 
	  persistent connections into a number of 
	  individual requests. 

	o Sends the individual requests to Back End 

This allows a system administrator to, for example, dedicate certain
Back End Servers to be CGI processing engines, while other machines may
be dedicated to acting as image repositories. The individual machines
may then be tuned to optimise their performance to these specific tasks. 
"""

I have considered trying out eddieware, but haven't yet. 


--
Do not meddle in the affairs of sysadmins, for they are easy to annoy,
and have the root password.