I'm my own grandpa...???

From: Graham Toal <gtoal@dont-contact.us>
Date: Thu, 17 Apr 1997 15:26:32 -0500 (CDT)

    +------------+ +-------------+
    | | | |
    | bo.cache | | it.cache |
    | | | |
    | | | |
    +------------+ +-------------+
           | |
Provider A | | Provider B
           | |
    +------------+ +-------------+
    | | | |
    | Squid A | | Squid B |
    | |<- internal. ->| |
    | | | |
    +------------+ +-------------+
           | |
       A clients B clients

Remember my question about redundant links? Well, I now have each
squid with a *sibling* connection to a different (as close as
possible) national cache. (And sibling connections to each
other over the local net)

In order to guarantee getting pages for either A or B clients
if either link goes down, would the following work?:

Tell A that bo.cache *and* squid B are its parents.
Tell B that it.cache *and* squid A are its parents.

If I understand the resolution algorithm correctly,
during normal use, squid A will ask both squid B and
bo.cache if they have the page already. If they
don't, it will then unconditionally fetch the page
from whichever of squid B or bo.cache answered
first with the 'MISS' code.

However, when link A is down, only squid B will
respond with a MISS, so squid A will request the
page from squid B and squid B will fetch it
uncoditionally from it.cache

Similarly if the other link is down the converse works too.

Is this description correct? If so, I can now do what
I need to have a redundant web link.

However, I see the following drawbacks:

1) squid A will always get a reply from squid B faster
than it will from bo.cache, so all A clients traffic
will go over link B - and vice versa. Awkward, but
not a show stopper if that's what we get stuck with. However,
I think I saw a reference to cache weighting - would that
allow me to bias the selection to always use bo.cache
rather than squid B if both replied with a miss?

2) neither squid will make any direct fetches any
more (apart from local domains). I don't know if
this is necessarily a bad thing. I'd like to think
it would fetch directly to sites when that gave a
faster response than going through the national cache.
I think Duane said I could make it ICMP ping ordinary
web sites as part of the selection process though I
have not been able to find this option in the docs yet.

3) I presume the software is smarter than this, but
is there any chance of this recursive parenting relationship
causing any infinite loops anywhere? When A does an
uncoditional fetch from B, B won't pass it back to A
will it?

Normally I'd just try stuff like this out and see what
happens, but this is now a live service with hundreds
of users.

Thanks

Graham
Received on Thu Apr 17 1997 - 13:29:24 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:35:00 MST