Что означает «архитектура N-уровня» в настоящее время?

В традиционном смысле N-уровня означает отделение применения в «ярусы» и положить каждый «уровень» на разных серверах. Это было сделано не менее 3 причин:

  1. Техническое обслуживание:

    A) Техническое обслуживание кода: проще выполнить исправления ошибок и дополнения функций.

    b) Техническое обслуживание оборудования: принять один сервер вниз не нарушает службу от другого уровня.

  2. Производительность: один сервер часто не был достаточно быстрым для обработки веб-запросов, бизнес-логических вычислений и доступ к базе данных / доступа к файлу одновременно.

  3. Масштабируемость: специфически горизонтальная масштабируемость

    a) Допуск неисправностей: способность иметь более 1 физического сервера на уровень средств, когда 1 сервер находится вниз, приложение все еще может функционировать в целом.

    b) Балансировка нагрузки: наличие нескольких экземпляров уровня помогает обслуживать большое количество запросов.

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

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

Итак, что такое архитектура N-уровня в наше время?

6
задан smack0007 14 December 2012 в 09:02
поделиться