Mailing List Archive

Q: Caching Hierachy
I need to build a hierachical caching plattform. The Goal is, to have
multiple frontends that will expire in sync.

Currently we cascade a pool of Cacher in front of a single Intermediate
Cache. The Front-Cacher will honor any "Age"-Header it will retrieve
from the Intermediate.

So cacher-1 will be asked for a document at 10:00. It will ask the
intermediate, this one will ask the backend.

Next cacher-2 will be asked for a document at 10:01. It will ask the
intermediate, intermediate will return the document with an age header
of 60 Seconds.

After max-age = 300 Seconds, the document will be invalid on cacher-1
and cacher-2.

Is this possible with varnish?

Greetings
Christoph
Q: Caching Hierachy [ In reply to ]
On Jul 4, 2007, at 12:23 AM, Christoph wrote:

> I need to build a hierachical caching plattform. The Goal is, to have
> multiple frontends that will expire in sync.
[...]
> Is this possible with varnish?

I haven't tried it with varnish, but I think it should work if you
use "Expires: ..." rather than "Cache-Control: max-age=..." to
specify the TTL.

I'm curious why you want to use that setup though. It seems like you
are just introducing an extra single point of failure and wasting a
lot of memory. There are at least a couple of different setups
that seems more reasonable. What are you trying to accomplish?

- ask

--
http://develooper.com/ - http://askask.com/
Q: Caching Hierachy [ In reply to ]
On Wed, Jul 04, 2007 at 12:52:43AM -0700, Ask Bjrn Hansen wrote:
>
> On Jul 4, 2007, at 12:23 AM, Christoph wrote:
>
> >I need to build a hierachical caching plattform. The Goal is, to have
> >multiple frontends that will expire in sync.
> [...]
> >Is this possible with varnish?
>
> I haven't tried it with varnish, but I think it should work if you
> use "Expires: ..." rather than "Cache-Control: max-age=..." to
> specify the TTL.

The backend (apache) will always set a relative Expires Headers
(access+300seconds)

>
> I'm curious why you want to use that setup though. It seems like you
> are just introducing an extra single point of failure and wasting a
> lot of memory. There are at least a couple of different setups
> that seems more reasonable. What are you trying to accomplish?

Goal is to synchronize all cachers. Have content expire at the same time
on all cachers. All cachers will be used in a round-robin-DNS entry. As
users are not bound to always hit the same Cacher. if a user hits reload
he might get jumping-content when switching between cachers.

Could you hint me on a setup to reach this goal?

Greetings
Christoph