> Hi Everyone, > > Nowadays I am planning building a load-balanced squid + web nodes cluster. > The detailed information: > Operating System: Linux 2.6.9 > Squid-2.6-Stable-15 I'd highly recommend upgrading your requirements a little: Linux 2.6.22+ (Ideally 2.6.24, but that may still be too cutting-edge for high-performance use, and 2.6.20 is the minimum for a number of apps) Squid 2.6.stable19 > > Here we have two options: > > squidA + Apache1 > Lvs + > > squidB + Apache2 > > (Lvs = linux virtual server) > SquidA forms sibling relationship with SquidB using ICP. > Apache1 is parent (original server) to SquidA. > Apache2 is parent (original server) to SquidB. > > > The other is > > > Squid-parentA + apahce1 > Squid-child + > Squid-parentB + apahce2 > > > Squild-child round robins Squid-parentA and Squid-parentB. > > Anybody has any suggestions on the two options? > Which is better of the two implementations? That depends on your expected traffic volumes and speed requirements. I have a vague idea what you mean by LVS. You mean using DNS to round-robin the A-record IPs and just point at a CNAME right? For highest performance and reliability I'd pick the first option unless there was some other topology feature that obsoletes the reliability edge. Performance-wise; current squid production releases are proven only to around 800req/sec. So below that either setup is equally effective. But above that the first proposal will be better for you. Reliability-wise; The second config leaves you with a single-point bottleneck which may at some point fail. If it does it takes out access to the child proxies. Amos