CACHEBOX makes it easy to link multiple CACHEBOXes together, to form local clusters or distributed caching networks. The benefits are:
- Redundancy – the caching service continues if one CACHEBOX becomes unavailable
- Performance – caches working together deliver higher hit rates and/or lower latency
- Scaling capacity – in effect, building a larger cache to handle increasing traffic
A caching network solution can be built up with CACHEBOX using any combination of three kinds of relationship:
|
|
|
|
|
Parent-Child Links – sharing objects downwards from a cache at a higher level |
|
Sibling Links – sharing directly between two caches at the same level in a hierarchy |
|
Load balancing by a WCCP enabled switch/router or a load balancer |
Larger distributed deployments often use all three elements to build complex CACHEBOX hierarchies across large regions. These could be for a large ISP, a regional education authority or an enterprise sharing controlled content across a branch network.
Many CACHEBOX customers use load balancing with the WCCP protocol to achieve redundancy and scaling in a local cluster – from a single pair in a large high school to large clustered stacks in the network core of a large ISP.
Web Cache Communication Protocol (WCCP) is a web cache deployment protocol developed by Cisco. It has built-in load balancing, scaling, fault tolerance, and fail-safe mechanisms.
WCCP makes CACHEBOX clusters extremely simple to install. You can deploy one or more CACHEBOXes transparently without any other changes to your network. Once set up, the router will strip out all TCP port 80 traffic (HTTP) and send it via the CACHEBOX cluster.
WCCP is available on many Cisco routers and switches, as well as firewalls and devices from some other vendors. This kind of load-balanced clustering of CACHEBOXes can also be accomplished by load balancers and some layer 7 switches.
It is useful to set up CACHEBOXes as siblings (operating at the same ‘level’) to share objects.
Siblings do not necessarily have to be on the same network as one another, as shown below – they can exist on separate networks.
CACHEBOXes set up as siblings can communicate with one another intelligently. When an object is requested, CACHEBOX checks the content of its siblings. If available, the object is served from the sibling rather than the internet. In addition, objects retrieved from a sibling cache, aren’t stored by the CACHEBOX serving the request – ensuring that content is not duplicated between CACHEBOXes and freeing up disk space.
You can easily add more units to your existing cluster, scaling your solution as network demand grows.
CACHEBOXes can be linked hierarchically in distributed networks to provide lower latency, redundancy and high availability.
Individual CACHEBOXes can be configured to make all requests to a Parent CACHEBOX (or any other HTTP proxy). This is especially useful if you have multiple offspring.
Parent-child hierarchies can be set up where varying link speeds exist across distributed networks, to improve network latency and optimise total caching performance across the network.
It is also useful to set up sibling clusters in parent-child networks if links are faster between siblings than between parent and child CACHEBOXes.