+------------+ +-------------+
| | | |
| 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