Двухзвенные схемы

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

В централизованной схеме компьютер пользователя работает как терминал, выполняющий лишь функции представления данных, тогда как все остальные функции передаются центральному компьютеру. Ресурсы компьютера пользователя задействуются в этой схеме в незначительной степени, загруженными оказываются только графические средства подсистемы ввода-вывода ОС, отображающие на экране окна и другие графические примитивы по командам центрального компьютера, а также сетевые средства ОС, принимающие из сети команды центрального компьютера и возвращающие данные о нажатии клавиш и координатах указателя мыши. Программа, работающая на компьютере пользователя, часто называется эмулятором терминала — графическим или текстовым, в зависимости от поддерживаемого режима. Главным и очень серьезным недостатком централизованной схемы является ее недостаточная масштабируемость и плохая отказоустойчивость. Производительность центрального компьютера всегда будет ограничителем количества пользователей, работающих с данным приложением, а отказ центрального компьютера приведет к прекращению работы всех пользователей. Именно из-за этих недостатков централизованные вычислительные системы, представленные мэйнфреймами, уступили место сетям, состоящим из мини-компьютеров, RISC-серверов и персональных компьютеров. Тем не менее централизованная схема иногда применяется благодаря простой структуре программы, которая почти целиком работает на одном компьютере, и наличию большого парка локальных приложений.

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

приложения, в сетевые операционные системы ввели такой компонент сетевой файловой службы, как редиректор, который перехватывает обращения к удаленным файлам (с помощью специальной нотации для сетевых имен, например //serverl/doc/filel.txt) и направляет запросы в сеть, освобождая приложение от необходимости явно задействовать сетевые системные вызовы. Файловый сервер представляет собой компонент наиболее популярной сетевой службы — сетевой файловой системы, которая лежит в основе многих распределенных приложений и некоторых других сетевых служб.

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

■ во многих случаях резко возрастает сетевая нагрузка (например, многочисленные

запросы к базе данных могут приводить к загрузке всей базы данных

в клиентскую машину для последующего локального поиска нужных записей),

что приводит к увеличению времени реакщи приложения;

■ компьютер клиента должен обладать высокой вычислительной мощностью,

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

данных и поддержкой операций базы данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: