2009-12-26 3 views
2

Я планирую начать новое веб-приложение с нуля, но мне интересно, не слишком ли я слишком много одержим масштабируемостью. Должен ли я беспокоиться об этом с самого начала или лучше сначала сосредоточиться на самом приложении и scale later, если мне действительно удастся?Сколько я должен беспокоиться о масштабировании?

+1

Нет общего ответа на этот вопрос. Это полностью зависит от того, что является вашей проблемной областью и соображениями вашего бизнеса. – bmargulies

+1

Если вы задаете этот вопрос на SO, тогда да, вы слишком много одержимы. Гораздо быстрее «выпускать на раннем этапе, часто выпускать» и фактически видеть, есть ли трафик. Сосредоточьтесь на архитектуре хорошего качества, а часть масштабирования будет намного проще. – gahooa

+0

Лучший вопрос: сколько людей, которые говорят «не волнуйтесь о масштабируемости сейчас», когда-либо приходилось зацикливать всю исходную базу и начинать только потому, что они не использовали здравого смысла, когда они начали? –

ответ

4

Вообще говоря, преждевременно и отвлекать внимание на масштабируемость для начала по нескольким причинам.

Решите проблему, когда вы есть проблема.

Беспокойство относительно масштабируемости слишком рано, как правило, задерживает вас за то, что вы делаете что-то не так сильно. Часто вы действительно не понимаете влияния производительности, пока что-то не используется в реальном мире.

+0

«преждевременная оптимизация» и весь этот джаз, да. У вас нет такой вещи, как «преждевременная безопасность». –

+1

@jae: безопасность! = Масштабируемость. – cletus

+0

Но плохие архитектурные решения могут препятствовать масштабируемости. Таким образом, важно, по крайней мере, иметь это в виду и понимать последствия решений, которые вы принимаете. –

3

Определите себе некоторые цели, такие как, например, количество пользователей в секунду, которое вы хотели бы, чтобы ваше приложение могло служить в начале. Затем разработайте приложение и выполните нагрузочное тестирование, чтобы убедиться, что ваша цель выполнена. Если это так, вы можете запустить его для публики и посмотреть, что произойдет.

+0

Точно. Зачем делать дикие догадки, когда вы можете оценить, и почему оценить, когда вы можете измерить? Аргумент «преждевременной оптимизации» применяется только тогда, когда оптимизация не требуется. Выясните, сколько вам нужно для масштабирования, а затем создайте для этого масштаба. – Aaronaught

+0

Мне тоже нравится этот ответ. Сосредоточьтесь на запуске и посмотрите, сможете ли вы вообще плавать, прежде чем сделать его идеальным. Настройте тестовую среду, чтобы проверить, что вы можете справиться с разумной нагрузкой и забудете масштабируемость 1000x на данный момент. – Christian

0

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

Теперь, если вы являетесь Google и выходите с Gmail или Google Maps, я думаю, что масштабируемость должна быть приоритетной с самого начала. Если вы почти уверены, что миллионы людей будут его использовать, вам следует подумать над этим (и определенно проверить).

2

Теперь вы должны сосредоточиться на презентации, функциональности и безопасности вашего приложения. Масштабируемость приходит, когда вам это нужно, но сделайте себе одолжение и напишите чистый код, чтобы упростить масштабирование вашего приложения в будущем. Вместо того, чтобы думать о своем дизайне с точки зрения масштабируемости, подумайте об этом с точки зрения модульности и возможности повторного использования, так что, когда придет время, не будет ужасно сложно масштабировать занятые части вашего приложения.

Смежные вопросы