These implementations sound very specific and I think you should do a lot of research in available options. One oversight at this level could cause major performance problems in the future.

I've heard of reverse proxy caching, but don't know much about it.

A reverse proxy works just like a normal proxy, it just hides the remote machine from the user : suppose the remote machinename is remote.acme.com, you could register a local machinename to mask the remote machine. You would need a caching-proxy to speed up things in this situation though. There are a lot of commercial products which offer this functionality; if ypu want to play with it, you can use the proxy module in apache to try things out. If you want to speed up even more, you could think of some roundrobin-dns configuration, and multiple proxy-caches serving data; the DNS-servers will return one of several IP-adresses for one hostname. If you've got some decent network-equipment, there's probably some way to have the same result using the switches/routers.
The database could also benefit from roundrobin-dns, in combination with some good replication-design. A Sun Fire could also help



Frank van Gestel
_________________________
Frank van Gestel