Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Дэвид С. Линтикам. Три звена распределенных вычислений

Три звена распределенных вычислений

Традиционная схема клиент-сервер проста: клиент посылает запросы, а сервер на них отвечает. Поскольку клиент и сервер часто представлены разными компьютерами, они способны расщеплять - или разделять - вычислительную нагрузку, что позволяет выполнять работу быстрее. Клиент осуществляет интерфейс и взаимодействие с пользователем. Сервер (обычно сервер баз данных) обрабатывает запросы клиента. Большинство разработок систем клиент-сервер относятся к этой традиционной двухзвенной модели.

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

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

Мониторы обработки транзакций (или просто мониторы транзакций, Transaction-processing - TP) составляют движущую силу промежуточного звена и служат основой большинства трехзвенных систем клиент-сервер. TP-мониторы, такие как CICS/6000 корпорации IBM, Top End фирмы NCR и Tuxedo компании Novell, предоставляют программам различные сервисные функции, включая возможности маршрутизации транзакций между разнообразными системами, уравновешивание нагрузки, управление потоками и перезапуск систем и транзакций после сбоев.

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

Но берегитесь: разработка систем клиент-сервер, использующих TP-мониторы, - сложная задача. Большинству популярных сегодня средств клиент-сервер на основе 4GL неизвестно, как организовать взаимодействие с TP-мониторами, но даже если и известно, то все равно разработчикам необходимо научиться созданию прикладных программ без прямого доступа к схеме базы данных.

TP-мониторы не единственное третье звено. Средства разделения программ и распределенные объекты обеспечивают возможности масштабирования, присущие многозвенной модели. Средства разделени программ, такие как Dynasty фирмы Dynasty Technologies и Forte компании Forte Software, позволяют разработчикам динамически делить логически единые программы между несколькими звеньями (или серверами). Поскольку вычислительная нагрузка распределяется между различными процессорами, разделение программ обеспечивает максимально возможную масштабируемость системы клиент-сервер.

При использовании средств разделения программ разработчику необходимо только спроектировать программу на отдельном ПК клиента, а затем переместить ее части (объекты программы) на любой сервер, доступный сети. Это делается простым переносом с помощью мыши объекта программы на пиктограмму сервера. В фоновом режиме средства разделения программ для выполнения обработки генерируют и компилируют на целевых серверах код не естественном языке 3GL. При использовании разделени программ число звеньев ограничено лишь числом имеющихся компьютеров.

Хотя сегодня в многозвенных системах разработки клиент-сервер применяются TP-мониторы и средства разделения программ, весьма вероятно, что в будущем для распределенных систем клиент-сервер предпочтительным механизмом могут стать распределенные объекты. Основная идея заключается в том, чтобы стандарты двоичных объектов позволяли различным объектам различных производителей, запущенным на различных платформах, работать вместе для создания многозвенных программ клиент-сервер.

Трехзвенная система Программы мониторов обработки транзакций (TP) - это по существу изощренное промежуточное обеспечение, которое удерживает и управляет запросами и ответами в этом потоке между клиентами и серверами баз данных. В такой трехзвенной модели TP-монитор способен <-- уравновешивать нагрузку на серверы ____________ | обрабатывать части транзакций. | Сервер на | | | основе | | __ Сервер ---| большой ЭВМ| Задачи по | |__|----- обработки | |____________| обработки | | транзакций | Поисковый/ / баз данных | __ | ___ | ответ / / | |__|--- | Поисковый | | | / /Поисковый | _|_|________ запрос | | __|____/__/_ запрос ->__ |Сетевой |----------| |---|Сетевой | |__|-|концентратор|Поисковый |___| |концентратор| |____________|ответ | |____________|Поисковый | | | | \ \ запрос __ | | _____|______ |Поисковый \ |__|--- _|_ | Программное| | ответ \ \ | | | обеспечение| | _______\__\ | | | обработки | | | Сервер на | Задачи по |___| | транзакций | ---| основе | обработки Сервер |____________| | ПК | баз данных |___________|

Масштабируемость операционных систем (ОС) особенна важна при вычислениях в среде клиент-сервер. ОС должна легко справляться с возрастающей нагрузкой от процессора и пользователей по мере происходящего со временем неизбежного роста прикладных программ. При увеличении нагрузки обычно именно сервер"увязает в болоте". Интересно, что верхний предел возможностей сервера баз данных в действительности зависит от того, какие действи предпринимают клиенты. Например, даже небольша группа клиентов, занятых составлением отчетов или использующих средства OLAP, способна быстро "поставить на колени" даже самый мощный сервер баз данных.

Серверы баз данных - это "прожорливые" программы, сильно нагружающие ОС и процессоры. Операционные системы серверов должны обеспечивать такие новаторские функции как защита памяти, семафоры, высокопроизводительные файловые системы и управление виртуальной памятью, а также разделение на потоки, многозадачность и взаимодействие процессов (interprocess communication - IPC). Вся эти функции нужны, поскольку при каждом подключении клиента к серверу или процессу запускается поток, обеспечивающий связь. Для каждогому соединению требуются память и ресурсы процессора только дл обслуживания связи, не считая того, что необходимо для выполнения запроса к базе данных.

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

В мире клиент-сервер преобладают два типа архитектуры процессоров серверов: RISC и Intel. RISC представляет собой традиционный вариант выбора дл Unix-серверов - например, серии RS/6000 компании IBM, работающей под управлением AIX, и серии 9000 фирмы Hewlett-Packard, работающей под управлением HP/UX. Но ситуация меняется. Windows NT работает не только на компьютерах на базе процессоров Intel, но также на RISC-системах. Вообще говоря, RISC-серверы по производительности немного превосходят серверы на базе Intel-процессоров, но они стоят от 15 до 50 тысяч долларов.

Серверы на базе процессоров Intel также быстро наращивают мощность. С появлением процессора Pentium, использующего суперскалярную RISC-подобную технологию, платформа Intel наступает на пятки RISC-системам. При этом многие современные ОС, в том числе несколько вариантов Unix, работают на Intel-машинах. С учетом этого Unix со временем может уступить место Windows NT, в которой широкие возможности Unix сочетаются с простотой использования Windows.

Предел масштабируемости сервера баз данных - это многопроцессорный сервер и ОС, которая работает на нем. Многопроцессные версии Unix и Windows NT позволяют работать на многопроцессорной аппаратуре, равномерно распределяя нагрузку между процессорами.

<== предыдущая лекция | следующая лекция ==>
Дэвид С. Линтикам. Клиент-сервер и (что ж еще?) Internet | Socks proxy
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 289; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.028 сек.