On Thu, 03 May 2001 13:31:50 -0700, sean.upton@uniontrib.com wrote: I spent some time planning a site with similar characteristics last year... The project was canned before it got out of a lab environment, so I can only offer untested advice.
a. [REQUEST]->(LOADBALANCER)->(SQUID+REDIRECTOR)->(APACHE)->(ZSERVER) b. [REQUEST]->(LOADBALANCER)->(SQUID+REDIRECTOR)->(APACHE)->(PCGI)->(ZOPE) c. [REQUEST]->(LOADBALANCER)->(SQUID+REDIRECTOR)->(ZSERVER)
You have a squid in this mix, which you say you are using as a redirector only. How important is caching to you? In my project caching was all important; cache misses were very expensive In all of those scenarios squid will cache based on the post-redirector url. If you are load balancing between n back-end servers then you will need n times larger cache space, and can expect a smaller cache hit ratio (worst case; n times smaller) What type of load balancing processing are you planning for the squid redirector? If just a random selection, are you aware than Apache's mod_rewrite can do that? (some of Apache's other features make it attactive for the front-end of this proxy pipeline, but squid is not a bad choice either) Unlike in your application, we expected that ZEO-server latency would be a significant factor. To reduce latency in filling ZEO client caches we were planning to distribute load between back-end Zope's based on dataset affinity..... That is preferring to send a request to a Zope that has recently handled a different request for the same data. We looked at doing this in a squid redirector, but it is not so easy to share state between the multiple redirector processes. Eventually we chose to implement this in a new http proxy. Our final configuration looked like: REQUEST->(LoadBalancer)->[(Apache)->(Squid)->(redirector)]->[(ZServer)] Toby Dickenson tdickenson@geminidataloggers.com