Dont forget to have multiple locations in play
Personally I would do the following:
2x servers plus one database server in DC A
2x servers plus one database server in DC B (mirror copy of DC A's servers)
4x DNS servers in multiple locations (e.g 1x east coast, 1x west coast, 1x european and 1x asian).
This would provide you with good redundancy. The only main issue is data synchronization across the two locations.