Высоконагруженный, да и вообще любой серьёзный проект, надо писать не "на чём?", а "как?". Точнее надо писать код так, чтобы он поддерживал горизонтальное масштабирование.
Это значит что ваш код должен уметь запускаться на нескольких серверах сразу и не так чтобы отдельные части в разных местах, а именно дублироваться. "Перед" копиями должен стоять балансировщик, который на основании того, насколько загружен тот или иной сервер, выбирает на какой сервер адресовать приходящий запрос.
Тут же стоит продумать бутылочные горлышки, а точнее избавиться от них. Например БД, она может поддерживать запуск своих копий на разных серверах, а может и не поддерживать.
Сессии пользователей можно хранить централизованно, а можно делать "липкую" сессию, когда все запросы одного пользователя будут всегда идти на один сервер.
В итоге, highload - это не про то на чём пишется софт, а про то как он пишется.