[Zope] Brainstorm: Zope behind proxying cache?

Sam Gendler sgendler@impossible.com
Fri, 14 Jan 2000 10:24:57 -0800


>
>
> I _think_ that Squid has a protocol like this to allow caches to send
> messages to each other.

Squid speaks ICP and cache digests, both of which are used for requesting
objects from other caches if the cache does not have the requested object.  I
suppose you could hack zope to speak ICP and pretend that it is a cache.  Every
time that the cache gets a request for an object it doesn't have, it would
request it from the zope server.  However, there is no way to explicitly expire
an object out of a cache using ICP or cache digests.  Additionally, they are
both fairly resource intensive protocols.  Each ICP request is a UDP message
sent to the cache (zope), which responds positively or negatively (always
positive in zope).  The cache then sends an http request for the object.  This
means that zope has to look for the object (and traverse the acquisition
heirarchy, etc) twice for every object.  Cache Digests don't send so many
requests, but each cache keeps a digest of EVERY object stored in EVERY cache
(although in a highly compressed manner).  It really isn't very appropriate

You could set up zope as a parent cache to the real cache.  This means that
every cache miss would get forwarded to zope, without a preceding icp request.
This would cause the cache to service all static requests, but there is still no
way to tell a cache to 'throw an object away right now.'  All you can do is tell
it when to throw the object away the very first time that you serve it.  HTTP is
a client driven protocol.  There is no standard way for a server to contact a
client preemptively.

See my previous email about Akamai for a method using checksums, that would
cause an object to have a different URL every time you change the object.  If
you could teach zope to ignore the checksum segment of the URL, you could easily
set up akamaization locally.  A pretty good idea, if you ask me.


>
>
> --Paul
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )