Многолетняя архитектура для масштабируемого веб -сайта является преждевременной оптимизацией?

StackOverflow https://stackoverflow.com/questions/4711868

Вопрос

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

Что вы думаете?

Это было полезно?

Решение

Это зависит от того, на какую платформу вы будете положиться.

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

Например, если вы находитесь на Arena .net, переносить архитектуру NON-NIER в N-уровне легко благодаря Windows Communication Foundation, что позволяет вам написать много кода, чтобы раскрыть ваши услуги через HTTP, RAW TCP Или любой протокол, который вы хотите использовать для передачи уровней, и даже клиент -код, чтобы потреблять их.

Посмотрите на дизайн, управляемый доменом, и связанные с ним шаблоны дизайна, и вы выиграете.

Подводя итог, вам необходимо проанализировать, улучшит ли распределение вашего решения в разных уровнях его масштабируемость в вашей первой версии. И подготовьте свой дизайн к легкой поддержке N-уровня.

Это разделение проблем, чтобы избежать зависимостей и позволить каждой части вашей программы работать вместе с общими интерфейсами.

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

N-уровне потребуется выделенный хостинг.

Можете ли вы предоставить больше информации о целях вашего проекта? (Я имею в виду с точки зрения масштабируемости).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top