Целесообразно ли разрабатывать масштабные проекты в ASP.NET MVC 4?
Целесообразно ли разрабатывать крупномасштабные проекты (социальные сети), которые в перспективе будут обрабатывать миллионы посещений в день в ASP.NET MVC. Я думаю, что в этом случае производительность сайта будет крайне низкой. Мне нужен совет. Какой лучший выбор для построения социальной сети с точки зрения производительности и масштабируемости? Это нормально, чтобы построить его в ASP MVC или это плохой выбор? Может быть, лучше сделать это, например, с Ruby on Rails? Как ты думаешь? Заранее спасибо!)
4 ответа
Сам Stackru был написан с использованием ASP.NET MVC. Согласно википедии, по состоянию на июнь 2013 года в ней было зарегистрировано более 1 700 000 пользователей. Я бы сказал, что это достаточно хорошее свидетельство силы ASP.NET MVC для крупномасштабных социальных приложений.
+1 @ Энди. ASP.NET MVC может быть лучшей средой для создания приложений на основе социальных сетей, но если вы сделаете неправильный выбор дизайна, лучшая в мире среда не спасет вас. Вам необходимо протестировать ожидаемую нагрузку, например, использовать функцию вашего приложения и добавить 100 пользователей, затем 1000, затем 10 КБ и т. Д. Делайте такие вещи для функций, которые будут использоваться регулярно и часто. Если он медленный, то определите, является ли он ASP.NET MVC или вашими вариантами дизайна.
Кто-то может сказать, что ASP.NET MVC является худшей платформой для создания больших приложений. Но вы не знаете, является ли причина медленной, потому что ASP.NET MVC или выбор этого человека. С другой стороны, кто-то может сказать, что он подходит для больших приложений, но вы не знаете, как они разработали свое приложение, и вы все равно можете сделать неправильный выбор, и в итоге вы получите медленное приложение.
Только вы действительно можете решить, подходит ли фреймворк для вашего приложения и ваших дизайнерских решений.
Для создания большого приложения используйте mvc только в качестве уровня представления, разделите бизнес-уровень и поделитесь моделью, реализовав ее как отдельный проект. При правильном шаблоне проектирования вы можете легко разрабатывать большие веб-приложения.
Как и другие пользователи, MVC - это просто презентационная часть вашего приложения. Ключ заключается в том, как вы разрабатываете свое приложение масштабируемым, обслуживаемым и расширяемым способом.
Вы должны сделать каждый компонент вашего приложения слабо связанным друг с другом, чтобы разработка была проще и более сфокусированной. Слабосвязанная конструкция на основе компонентов также улучшит тестируемость и ремонтопригодность вашей системы.
Чтобы ответить на ваш вопрос относительно MVC как части крупномасштабного приложения, да, это может быть хорошим выбором, если вы сделаете это правильно. MVC сам по себе является архитектурой проектирования, которая позволяет разделить логику представления и предметной области приложения, что упрощает тестирование и сопровождение. Я буду уделять больше времени тому, как сделать слой MVC вписанным в ваш общий дизайн.