Load Sharing

I covered load sharing in Chapter 9. There are several ways to split the load between multiple servers:

DNS round-robin

This brute force approach relies on DNS servers to randomize IP addresses in lookup replies. It is somewhat inefficient because requests are randomly assigned to individual proxies.

Layer four switches

These products usually have a number of balancing algorithms available (number of connections, response time, etc.). Alternatively, requests can be partitioned by origin server IP address.

CARP

CARP partitions requests with a sophisticated algorithm that allows members to be weighted unequally. It also minimizes the disturbance to the partitioning when members are added or removed.

ICP and HTCP

These protocols are only used between caches. They can be used to maximize cache hits within a cluster. This is particularly useful if clients send requests to caches randomly, as with DNS round-robin.

WCCP

In Cisco’s WCCP implementation, the master cache builds an origin server-based partition and sends it to the router. The router uses the partition to divide the load among all member caches.

Given these choices, which one should you use? If you’re comfortable with traffic interception, then layer four switches and WCCP are good options. Between the two, it depends on what type and manufacturer of equipment you are familiar with. Organizations that already have an investment in Cisco routers are likely to use WCCP. Some organizations prefer the features offered ...

Get Web Caching now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.