The one thing that stands out in your post is caching. Many load balancers can do some small-scale caching, but it is usually best done by dedicated HTTP caches, installed as software on servers. Examples are Squid and Varnish.