Требования к распределенным системам
Войти

Требования к распределенным системам

§ 3. Требования к распределенным системам.

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

  1. Максимальность.
  2. Открытость.
  3. Неоднородность.
  4. разделение ресурсов.
  5. Отказоустойчивость.

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

Масштабируемость означает способность системы адаптироваться к будущему росту нагрузки.

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

  1. Например, ее можно выразить как максимальное число одновременно работающих пользователей. (Система «видео по требованию» в Гонконге должна одновременно обслуживать до 90000 пользователей).
  2. Нагрузку можно определить и как количество транзакций, которые система должна выполнять за данный период. (Выбранный для анализа швейцарский банк заявлял, что ему потребуется до 2 млн. транзакция ежедневно).
  3. Наконец, нагрузку можно определить, оценив объем данных, которые должны обрабатывать система. (Так, система управления конструированием в компании «Боинге» должны справляться с ежегодным увеличением объема конструкторской документации приблизительно на 1,5 млрд. единиц. «Боинг» строит ?500 новых самолетов в год).
  4. Таким образом, очевидно, что обслуживание должно быть непрерывным. Но кроме этого мы ожидаем и определенного качества этого обслуживания. ( 1)Клерк в банке рассчитывает на то, что транзакция завершается за пару секунд. 2)Пользователь системы «видео по требованию» ожидает, что изображение будет поступать с частотой обновления не менее 10 кадров в секунду.).
  5. Архитектуру ПО надо проектировать так, чтобы она оставалась неизменной в течение всего срока службы системы. Успех сети Интернет заключается в том, что эта сеть может расти, приспосабливаясь к увеличению нагрузки; она имеет масштабируемую архитектуру.
  6. Архитектура системы называется масштабируемой, если она может адаптироваться к любому увеличению нагрузки, независимо от того, ожидается оно или нет.
  7. [В компании «Боинг» старый мэйнфрейм не мог справиться с нагрузкой, поэтому для поддержки дополнительных компонентов были добавлены новые компьютеры (20 машин Sequent)].

    § 3.2. Открытость.

    Открытость означает, что систему можно легко расширять и модифицировать. Для этого компоненты системы должны иметь четко определенные и хорошо документированные интерфейсы.

    Интеграция в систему новых компонентов означает, что они должны взаимодействовать с некоторыми уже имеющимися в этой системе компонентами. В интерфейсах должны быть объявлены те же услуги, которые предлагает объект. Услуга – это операция, которую компонент выполняет для пользователя или другого компонента. Услуги часто параметризуются, и полученные параметры должны быть указаны в интерфейсе. Нужно отметить, что компонент, являющийся клиентом некоторого другого компонента, сам может служить сервером для других компонентов. Формируется n-уровневая архитектура.

    § 3.3. Неоднородность.

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

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

    [Причинами неоднородность может быть независимость разработчиков компонентов, создание компонентов в разное время.]

    § 3.4. Доступ к ресурсам и их разделение.

    Под ресурсами понимаются аппаратура, ПО и данные. Разделение ресурсов требуется для более эффективного дорогостоящих ресурсов. [Машина Sequent, предназначенная для работы с базами данных является дорогим элементом оборудования. Для компании «Боинг» она обеспечила экономичное решение только потому, что используется несколькими сотнями инженеров.]

    При организации доступа к ресурсам необходимо учитывать вопросы их защиты. [В системе «видео по требованию» доступ контролируется для того, чтобы только зарегистрированные пользователем могли загружать видеофильмы, т.е. после регистрации и оплаты]. Право на доступ к ресурсам реализуется менеджерами ресурсов.

    § 3.5. Отказоустойчивость.

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

    Теги:
    php