Стратегии разные есть. Самая простая - кластер из фронтов у которых куча памяти и все закешировано + несколько аппликейшн-серверов + несколько СУБД серверов. А запросы идут на фронты по round-robbin (по кольцу) на входящем роутере. Для шины общения фронтов с апликейшн-серверами используется что-то типа haproxy.
Но все сильно зависит от функциональности, можно ли шардить базы данных, как хорошо кэшируются ответы, и т.п.
Целые конференции проходят по тому "как" HighLoad например, почитайте материалы.