Как правильно реализовать проект, способный справляться с высокой нагрузкой и нештатными ситуациями?

Архитектор крупного проекта или многообещающего стартапа, всегда должен помнить о двух важных понятиях: highload (высокая нагрузка) и failover (устойчивость к отказам). Ведь важный проект не должен оказаться недоступен, если внезапно в несколько раз увеличится нагрузка, или же выйдет из строя важный компонент системы. Для большинства мелких проектов временная недоступность не имеет большого значения. Однако, если речь идет о магазине с миллионными оборотами - часовой перерыв в работе может стоить очень дорого.

По тематике высокой нагрузки есть достаточно много материалов. Рекомендую обратить особое внимание на мастер-классы и лекции Дмитрия Бородина, а также на ежегодную конференцию Highload++. В частности, из лекций Дмитрия, вы узнаете, как устроены социальные сети изнутри и какие лучшие практики можно взять на вооружение.

Тема отказоустойчивости также не остается без внимания и приобретает всё большую популярность. Ей в частности посвящена ежегодная конференция Failoverconf. Оттуда вы сможете узнать о том, как обеспечить работоспособность проекта, если, например, сгорел сервер или же пропал интернет в дата-центре.

Выше перечислены лишь самые заметные ресурсы и конференции. Не забывайте про Хабр и Гугл, если эта тема вам интересна. Желаю успехов в изучении и 100%го аптайма!