Eric Schwartz created TS-4723:
---------------------------------
Summary: ATS CARP Plugin
Key: TS-4723
URL: https://issues.apache.org/jira/browse/TS-4723
Project: Traffic Server
Issue Type: New Feature
Components: Plugins
Reporter: Eric Schwartz
Open sourcing this plugin we use internally within Yahoo in place of
hierarchical caching.
CARP is a plugin that allows you to group a bunch of ATS hosts into a cluster
and share cache space across the entire group. This is done with consistent
hashing on the object URL to generate an "owner" node in the cluster. Requests
to any other node in the cluster will be forwarded on to the corresponding
owner. More info in the README.
Difference from internal version of note:
I've ripped out some code we weren't entirely sure we could open source because
of a hash function. If it turns out that we can open source this, I'll do so.
The CarpHashAlgorithm class is meant to be extensible, so any consistent hash
function can replace it. The function included here is pretty straightforward
but not what we use in production, so just wanted to use that caveat.
One last caveat:
You'll see some code and documentation in here for object replication. This is
something I added recently to CARP that allows you to specify an object be
replicated a certain number of times in the cluster. This is useful if you have
a network partition or if you're performing some sort of update. When an
object's primary owner is unreachable, a node in the cluster can go to the
secondary owner if it's available rather than having to fall all the way back
to origin. While I've done some initial testing on this with my own cluster of
hosts, it's not been tested in production so use at your own risk for now. I'll
be sure to keep the open source community informed on the progress of our tests
with this feature.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)