LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Loadbalancing multiple SQUID parents using a parent persistence sele

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Loadbalancing multiple SQUID parents using a parent persistence selection per client connection
Cc: squid-users@xxxxxxxxxxxxxxx
From: Joe Cooper <joe@xxxxxxxxxxxxx>
Date: Mon, 18 Mar 2002 15:21:52 -0600
Hi Alexandre,

Is there a reason you can't simply tie each Squid to one parent? i.e. to redraw your diagram, something like this:

>                      +----------------------------+
>                      |          Internet          |
>                      +----------------------------+
>                          |        |           |
>         +----------------+        |           +-----------+
>         |                         |                       |
> +----------------+       +----------------+       +----------------+
> | PROXY-PARENT-1 |       | PROXY-PARENT-2 |       | PROXY-PARENT-3 |
> +----------------+       +----------------+       +----------------+
>         |                         |                       |
> +---------------+        +---------------+        +---------------+
> | SQUID-PROXY-1 |        | SQUID-PROXY-2 |        | SQUID-PROXY-3 |
> +---------------+        +---------------+        +---------------+
>         |                        |                        |
>         +--------------+         |              +---------+
>                        |         |              |
>                      +----------------------------+
>                      |        LoadBalancer        |
>                      +----------[ VIP ]-----------+

If you're using a cache scheduler (one that guarantees client persistence for any given destination IP) this should lead to a constant client->proxy->parent->server persistence. This is probably what you really want, isn't it?

This will lead to occasional 'hot spots' on one cache and proxy or another (this is kind of unavoidable with a destination hash based scheduler), but should generally lead to a pretty good balance most of the time.

Alexandre CASSEN wrote:
Hi All,

I am from the LinuxVirtualServer team and I am currently looking for
informations and advices on a SQUID setup.

My current needs correspond to the following simple sketch :


                     +----------------------------+
                     |          Internet          |
                     +----------------------------+
                         |        |           |
        +----------------+        |           +-----------+
        |                         |                       |
+----------------+       +----------------+       +----------------+
| PROXY-PARENT-1 |       | PROXY-PARENT-2 |       | PROXY-PARENT-3 |
+----------------+       +----------------+       +----------------+
        ...................................................
        ...................................................
        ...................................................
+---------------+        +---------------+        +---------------+
| SQUID-PROXY-1 |        | SQUID-PROXY-2 |        | SQUID-PROXY-3 |
+---------------+        +---------------+        +---------------+
        |                        |                        |
        +--------------+         |              +---------+
                       |         |              |
                     +----------------------------+
                     |        LoadBalancer        |
                     +----------[ VIP ]-----------+

Architecture components :

* 3 SQUID-PROXY included in a LVS VIP to loadbalance incoming traffic
through proxy port.
* 3 Antivirus PROXY-PARENT parents of 1.
* All clients browser point to LVS VIP

My question is located on the SQUID parent definition. I want that each
SQUID loadbalance incoming traffic to parent pool. My setup must work with
SQUID round-robin parent declaration since Antivirus proxy are not ICP
capable. So on each SQUID-PROXY I define the following squid.conf rulez
(according to the 7.3.Hierarchy-Tutorial) :

        local_domain mydomain.com
        cache_host PROXY-PARENT-1 parent 3128 8080 no-query round-robin
        cache_host PROXY-PARENT-2 parent 3128 8080 no-query round-robin
        cache_host PROXY-PARENT-3 parent 3128 8080 no-query round-robin

The loadbalancer use a persistence rule to stick traffic from a specific
client to a specific proxy. So all traffic coming from the same client will
be alway directed to the same SQUID proxy. My question is located on the
upper level, on the parent proxy selection :

I would like to know if it is possible to make a connection persistent from
a specific client to a specific parent ? Is it possible to stick traffic
from a client to the same parent (without round-robin algo replay for all
GET query comming from the same client) ?

Can someone give me some lighting points on that kind of setup ?

Best regards,
Alexandre Cassen
--
Joe Cooper <joe@xxxxxxxxxxxxx>
http://www.swelltech.com
Web Caching Appliances and Support



<Prev in Thread] Current Thread [Next in Thread>