>Hi,
>we're going to set up a cluster of proxies next days and I was trying
>to provide some kind of load sharing and fault tolerance.
>Load sharing can be guaranteed with a good proxy.pac using URL hashing,
>but this would be limited only to NETSCAPE users.
>I was thinking to also use a round-robin DNS so that cache servers using
>us as parent would benefit the hardware upgrade too.
>The question is: does squid use the time to live information for its
>neighbour caches too ? In the cache.log file I see a lot of
>"configuring ... as ..." when squid starts, I was wondering if squid
>resolves the address just once and then use the IP number forever without
>taking care of ttls till the next start up. And does squid take care
>of multiple IPs of neighbours so that if one fails it then switches to the
>next one ?

Squid only does the job halfway right with peer IP addresses.

For HTTP requests, Squid always uses the IP cache when connecting
to peers. So, yes then it uses the TTL (and the *real* DNS TTL if
you've hacked your resolver library), and round-robins the addresses.

But for ICP requests, Squid uses a set of addresses which are
determined only at startup. The ICP query is always sent to the
first address in the list. A reply from any address in the
list is accepted. So this approach is wrong in some situations, but
it exists to keep ICP processing fast.