АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Масштабируемость

Читайте также:
  1. AT (полноразмерный, Baby-AT)
  2. Else begin
  3. MPP архитектура
  4. WAITING
  5. Алфавитный указатель
  6. Архитектура клиент-сервер
  7. АСОЦИАТИВНЫЕ КС
  8. Безымянный - Блокнот
  9. Введение
  10. Двухзвенные схемы
  11. Звезда (топология компьютерной сети)
  12. Извлечение знаний

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

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

Существует большое число метрик, позволяющих определить масштабируемость приложения. Истинно масштабируемое веб-приложение должно:

  • Обслуживать одного пользователя так же, как и сотни и тысячи пользователей одновременно.
  • Обеспечивать в два раза более высокое быстродействие при установке на компьютере с удвоенными ресурсами (процессоры, память и т.п.), утроенное быстродействие на компьютере с утроенными ресурсами и т.п.

Конечно, эти требования по масштабируемости являются идеальными. Однако чем ближе приложение приближается к идеалу, тем более успешно оно будет работать.

Вопросы проектирования, касающиеся быстродействия и масштабируемости

Наиболее важное соображение, которое надо иметь в виду при разработке проекта веб-приложения, состоит в том, что веб-приложение, по большей части, является серверным приложением. Исторически сложилось, что серверное программное обеспечение уступает по сложности и трудностям программирования только программному обеспечению операционных систем. IIS and Windows® предлагают множество передовых инструментов, которые делают разработку веб-приложений более быстрой и легкой, но вопросы и проблемы программирования сервера по-прежнему остаются.

Важные вопросы обеспечения масштабируемости приложения включают:

  • Выбор технологии: Как и большинство платформ разработки, Windows предлагает множество возможностей для выполнения поставленной задачи. Правильный выбор технологии является первым, и часто наиболее важным, шагом в разработке масштабируемого веб-приложения. Например, если технология, используемая на стороне клиента, обеспечивает функциональность одинаковую или близкую той, которая обеспечивается сервером, целесообразно максимальное использование программного обеспечения клиента. Это сделает приложение более масштабируемым, поскольку в этом случае клиент реализует значительную часть обработки. Правильный выбор технологии также ведет к уменьшению двойного обмена между клиентом и сервером, что также улучшает быстродействие. Для получения дополнительных сведений см. Веб-приложения: Обзор и пакет Internet Client SDK.
  • Выбор языков: Выбор языка разработки веб-приложения определяет круг пользователей, которые могут получить доступ к нему. Например, использование сценариев в приложение исключает пользователей, чьи обозреватели не поддерживают сценарии. В приведенном ниже списке перечислены некоторые из доступных языков разработки:
    • Windows Script Components
    • Visual Basic
    • Java
    • C++
  • Разработка алгоритмов и блок-схем: Даже правильная технология, примененная неправильно, даст плохие результаты.
  • Многопотоковость: IIS и Windows обеспечивают многопотоковую среду. Для создания масштабируемых приложений необходимо выбрать подходящую модель потоков для компонентов.
  • Конфликт ресурсов и временные задержки: Конфликт ресурсов и их «утечка» часто являются главными виновниками недостаточной масштабируемости приложений.
  • Проверка в реальных условиях: Следует тщательно проверить веб-приложение в среде максимально близкой к той, в которой приложение будет развернуто.

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

Этот раздел содержит следующие сведения:

7 этапов построения масштабируемых веб-приложений. Стратегии для системных архитекторов Вам когда-нибудь приходилось наблюдать за развитием интернет-проекта с самого начала? Одного? Двух? Десяти? Не находите, что в путях их развития прослеживается множество аналогий: они проходят через одни и те же этапы развития, преследуют одни и те же цели. Да, конечно же бывают исключения, но если взглянуть издалека — дорога, по которой идут веб-приложения в своем развитии, у всех одна. ТекстПрезентацияКомментарииПоделиться

Предисловие

Данный материал подготовлен по мотивам презентации, автором которой является John Engates, CTO Rackspace. Адаптацию текста и перевод выполнил Иван Блинков


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)