Я разрабатываю веб-приложение, основной задачей которого является получение данных из базы данных, отображение их в пользовательском интерфейсе, ввод пользовательских входов и запись их обратно в базу данных. Приложение не будет выполнять хруст алгоритма промышленной прочности, но будет получать очень большое количество ударов в пиковые времена (описанные ниже), которые будут меняться через день ...Определение количества ярусов в n-уровневом приложении
Эти слои являются типичными Презентация, бизнес, данные. Уровень данных берется сервером базы данных. Бизнес-уровень будет содержать компонент DAL для доступа к серверу базы данных по tcp. Выбор я должен разделить эти слои в ярусов:
презентации и бизнес-слои могут быть либо сохранены на том же уровне .
Презентационный слой на отдельном уровне сам по себе и бизнес слой на отдельном уровне сам по себе.
В случае выбора 2 на уровне бизнес-уровня будет отображаться уровень представления с использованием службы WCF через http или tcp.
Я не вижу, чтобы на бизнес-уровне выполнялась большая обработка, поэтому я склоняюсь к варианту 1 выше. Я также чувствую по той же причине, добавив новый уровень, только представит сетевую задержку. Однако с точки зрения масштабируемости в случае, если мне нужно масштабировать или масштабировать, что лучше сделать? Это приложение должно будет поддерживать до 6 миллионов пользователей в час. В каждом пользовательском сеансе будет достаточный объем данных, в котором хранятся предпочтения пользователя и другие данные. Я буду использовать кэширование на уровне страницы, а также ..
Спасибо за ваше время ...
Привет, Джош, я обновил свой вопрос ... не нужно быть извиняющимся :) Мне просто нужно другое мнение о том, почему у меня действительно должен быть «Application layer» на другом сервере ... – user20358
@ user20358 мой ответ остается одна и та же. Подумайте о том, как создается stackoverflow. Вы ожидаете подобного трафика? Откуда у вас 6M пользователей в час? Масштабирование с большим количеством серверов, не более компонентов. Используйте кеширование как redis. Существуют некоторые обстоятельства, при которых вам может понадобиться n-уровень, например, интеграция разрозненных компонентов. Но если вы все строите с нуля, я считаю это маловероятным. –
Да, я ожидаю подобное, если не больше ..., не вдаваясь в подробности о приложении (я подписал идею не раскрытия для этого проекта), эта цифра дается нам клиентом. в то время как это грубое приложение с разумным объемом обработки бизнес-уровня, оно в то же время не слишком интенсивное. – user20358