Re: originserver plus carp configuration?

2005-04-08 Thread Joe Cooper
Henrik Nordstrom wrote:
On Thu, 7 Apr 2005, Joe Cooper wrote:
CARP balances based on a hash of the destination URL, not client.

Hmmm...that raises a different question: How does one address the 
issue of maintaining client stickiness?

It doesn't. CARP is designed for routing requests to a cloud/array of 
parent proxy cache servers with minimal duplication of cache content.
Nevermind.  One shouldn't configure Squid while tired.  ;-)
Now that httpd accel hosts are cache_peers I can used cache_peer_access 
to make the distribution decisions...Don't know why I didn't think of 
that, as I've used it in the past for similar purposes.

That said, http://devel.squid-cache.org/rproxy/backend.html#balance 
suggests that some mechanism for load balancing based on client exists 
in rproxy, though I don't see anything relevant in the configuration 
options.  (This item is marked (done) in the todo list.)


Re: originserver plus carp configuration?

2005-04-07 Thread Henrik Nordstrom
On Thu, 7 Apr 2005, Joe Cooper wrote:
The whole configuration is working, except for load balancing.  Without 
carp I always get FIRST_UP_PARENT/192.168.1.47.  With carp I always get 
CARP/192.168.1.48, no matter what IP I'm coming from (and I tried a half 
dozen client IPs to be sure I wasn't just coincidentally always hashing to 
the same destination).
CARP balances based on a hash of the destination URL, not client.
You can get quite detailed tracing of the CARP hashing by enabling debug 
section 39,9, combined with the cachemgr carp section.

Regards
Henrik


Re: originserver plus carp configuration?

2005-04-07 Thread Joe Cooper
Thanks for the rapid response, Henrik.
Henrik Nordstrom wrote:
On Thu, 7 Apr 2005, Joe Cooper wrote:
The whole configuration is working, except for load balancing.  
Without carp I always get FIRST_UP_PARENT/192.168.1.47.  With carp 
I always get CARP/192.168.1.48, no matter what IP I'm coming from (and 
I tried a half dozen client IPs to be sure I wasn't just 
coincidentally always hashing to the same destination).

CARP balances based on a hash of the destination URL, not client.
Hmmm...that raises a different question: How does one address the issue 
of maintaining client stickiness?

You can get quite detailed tracing of the CARP hashing by enabling debug 
section 39,9, combined with the cachemgr carp section.
Excellent.  Thanks for the tip.


Re: originserver plus carp configuration?

2005-04-07 Thread Henrik Nordstrom
On Thu, 7 Apr 2005, Joe Cooper wrote:
CARP balances based on a hash of the destination URL, not client.
Hmmm...that raises a different question: How does one address the issue of 
maintaining client stickiness?
It doesn't. CARP is designed for routing requests to a cloud/array of 
parent proxy cache servers with minimal duplication of cache content.

doc/rfc/draft-vinod-carp-v1-03.txt
it's positive properties are
  - Deterministic static forwarding path. The same URL always gets the 
same forwarding part while the configuration is the same.

  - Minimal cache distruption on changes. If a member server is 
added/removed from the array only a portion of the cache in proportion to 
the size/power of the added/removed server is affected by the change.

  - No peering traffic. Thanks to the deterministic static forwarding 
path.

it's negative properties are
  - Static forwarding path. Can not easily adjust to dynamic changes in 
weights / server capacity.

  - Forwarding is based on a hash of the complete URL. No client 
or even destination persisance.

Regards
Henrik