Skip to main content

Proxy load balancing benefits; non-redundant array

Short answer

Proxy load balancing improves performance, scalability, availability, effective cache, bandwidth saving, maintenance, and cost. Non-redundant array (CARP) hashes each URL to exactly one proxy, so no duplicate copies and total cache is the sum; it has high hit rate, no inter-proxy traffic, but no redundancy if a proxy fails.

What are the benefits of proxy load balancing? Discuss non-redundant proxy array load balancing technique with its features.

Benefits of proxy load balancing

  1. Better performance. Requests are spread over several proxies, so no single server is overloaded and response time falls.
  2. Scalability. Capacity grows by adding more proxy servers without changing client settings.
  3. Higher availability (fault tolerance). If a proxy fails, requests go to the remaining ones.
  4. Larger effective cache. With hash-based distribution the disks of all proxies add up, giving a higher hit ratio and less Internet traffic.
  5. Bandwidth saving. More hits mean fewer fetches from the origin servers over the costly WAN link.
  6. Easy maintenance. A proxy can be taken out for upgrade without a service stop.
  7. Cost effective. Several inexpensive PCs can replace one costly large server.

Non-redundant proxy array load balancing

In a non-redundant array, the URL space is partitioned among the proxies, so every object is cached in exactly one proxy (no duplicates). The partitioning is done by a hash function, as used in CARP.

Working

  1. The client (or front end) computes a hash of the requested URL combined with each proxy's name.
  2. The proxy with the highest score receives the request.
  3. If it has the object, it returns it (hit). Otherwise it fetches it from the origin server, caches it and returns it (miss).
 URL --> hash --> P2 only
 Clients ----> [P1] [P2] [P3] [P4] ---> Origin servers
              (each holds a different slice of URLs)

Features

  • No duplicate copies: total cache size = sum of all proxies.
  • High hit rate and efficient disk use.
  • No communication between proxies (no ICP queries), so low overhead.
  • Deterministic: the same URL always goes to the same proxy.
  • Scales easily; adding or removing a proxy re-maps only about 1/n of the URLs.
  • Weak point: no redundancy. If a proxy fails, its cached objects are lost (cold cache, objects must be fetched again), though requests are re-hashed and service continues.
  • Needs the hash to be known to the clients (a PAC script) or a front-end device.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Internet and Intranet chapter 5 questions →