20442

Варианты архитектуры клиент-сервер

Доклад

Информатика, кибернетика и программирование

Варианты архитектуры клиентсервер Разделение на три логических уровня обсуждавшееся в предыдущем пункте наводит на мысль о множестве вариантов физического распределения по отдельным компьютерам приложений в модели клиентсервер. Серверы реализующие все остальное то есть уровни обработки и данных. Проблема подобной организации состоит в том что на самом деле система не является распределенной: все происходит на сервере а клиент представляет собой не что иное как простой терминал. Многозвенные архитектуры Один из подходов к организации...

Русский

2013-07-25

122 KB

11 чел.

12

1.5.3. Варианты архитектуры клиент-сервер

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

  •  Клиентские машины, на которых имеются программы, реализующие только пользовательский интерфейс или его часть.
  •  Серверы, реализующие все остальное, то есть уровни обработки и данных.

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

Многозвенные архитектуры

Один из подходов к организации клиентов и серверов — это распределение программ, находящихся на уровне приложений, описанном в предыдущем пункте, по различным машинам, как показано на рис. 1.20. В качестве первого шага мы рассмотрим разделение на два типа машин: на клиенты и на серверы, что приведет нас к физически двухзвенной архитектуре (physically two-tiered architecture).

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

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

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

Рассматривая только клиенты и серверы, мы упускаем тот момент, что серверу иногда может понадобиться работать в качестве клиента. Такая ситуация, отраженная на рис. 1.21, приводит нас к физически трехзвенной архитектуре (physically three-tiered architecture).

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

Современные варианты архитектуры

Многозвенные архитектуры клиент-сервер являются прямым продолжением разделения приложений на уровни пользовательского интерфейса, компонентов обработки и данных. Различные звенья взаимодействуют в соответствии с логической организацией приложения. Во множестве бизнес-приложений распределения обработка эквивалентна организации многозвенной архитектуры приложений клиент-сервер. Мы будем называть такой тип распределения вертикальным распределением (vertical distribution). Характеристической особенностью вертикального распределения является то, что оно достигается размещением логически различных компонентов на разных машинах. Это понятие связано с концепцией вертикального разбиения (vertical fragmentation), используемой в распределенных реляционных базах данных, где под этим термином понимается разбиение по столбцам таблиц для их хранения на различных машинах.

Однако вертикальное распределение — это лишь один из возможных способов организации приложений клиент-сервер, причем во многих случаях наименее интересный. В современных архитектурах распределение на клиенты и серверы происходит способом, известным как горизонтальное распределение (horizontal distribution). При таком типе распределения клиент или сервер может содержать физически разделенные части логически однородного модуля, причем работа с каждой из частей может происходить независимо. Это делается для выравнивания загрузки.

В качестве распространенного примера горизонтального распределения рассмотрим web-сервер, реплицированный на несколько машин локальной сети, как показано на рис. 1.22. На каждом из серверов содержится один и тот же набор web-страниц, и всякий раз, когда одна из web-страниц обновляется, ее копии незамедлительно рассылаются на все серверы. Сервер, которому будет передан приходящий запрос, выбирается по правилу «карусели» (round-robin). Эта форма горизонтального распределения весьма успешно используется для выравнивания нагрузки на серверы популярных web-сайтов.

Таким же образом, хотя и менее очевидно, могут быть распределены и клиенты. Для несложного приложения, предназначенного для коллективной работы, мы можем не иметь сервера вообще. В этом случае мы обычно говорим об одноранговом распределении (peer-to-peer distribution). Подобное происходит, например, если пользователь хочет связаться с другим пользователем. Оба они должны запустить одно и то же приложение, чтобы начать сеанс. Третий клиент может общаться с одним из них или обоими, для чего ему нужно запустить то же самое приложение.


 

А также другие работы, которые могут Вас заинтересовать

84538. Серцевий цикл, його фази, їх фізіологічна роль. Показники насосної функції серця і методи їх дослідження 58.82 KB
  Показники насосної функції серця і методи їх дослідження. Його будова повністю пристосована для виконання функцій насоса: СЕРЦЕ насос ШЛУНОЧКИ ПЕРЕДСЕРДЯ КЛАПАНИ Резервуарна функція Забезпечення одностороннього току крові Насосна функція ХОК який є адекватним потребам організму Таким чином насосну функцію виконують перш за все шлуночки серця. Серце як насос працює циклічно мають місце ритмічне чергування систоли скорочення та діастоли розслаблення відділів серця. Чергування систоли та діастоли різних відділів серця можна...
84539. Характеристика періодів і фаз СЦ 47.19 KB
  Починається скорочення передсердя з мязевих пучків які охоплюють гирла вен; це попереджує рух крові по градієнту тиску із передсердя в вени так як клапани тут відсутні. і внаслідок цього в шлуночок надходить остання порція крові яка складає від 8 до 30 від всього обєму крові що надходить в шлуночок при його діастолі. Тому напруження міокарду шлуночка і тиск в ньому не змінюється не відбувається рух крові через порожнини серця; не змінюється положення клапанів. В стані спокою в шлуночку знаходиться близько 150 мл крові.
84540. Показники насосної функції серця і методи іх дослідження 42.01 KB
  Цей показник можна визначити за допомогою ехокардіографії тетраполярної реографії не інвазивні методи за допомогою методу розведення барвника внутрішньовенно вводять певні барвники і по динаміці зміни її концентрації в крові розраховують ХОК а також за допомогою методу Фіка він заснований на визначенні хвилинного поглинання кисню організмом людини і на визначенні артеріовенозної різниці вмісту кисню; для визначення а в різниці необхідно провести зондування правого передсердя для отримання змішаної венозної крові; далі розрахунок...
84541. Роль клапанів серця у гемодинаміці. Тони серця, механізми їх походження ФКГ, її аналіз 42.92 KB
  Клапани розташовані при вході та при виході обох шлуночків серця. Мітральний та трьохстулковий клапани перешкоджають зворотньому закиду крові регургітації крові в передсердя під час систоли шлуночків. Перший систолічний тон виникає на початку систоли шлуночків. Його формують такі компоненти: закриття стулок передсердношлуночкового клапану; це основний компонент першого тону дає осциляції найбільшої висоти виникає на межі фаз ізометричного та асинхронного скорочень; міокардіальний компонент повязаний із напруженням та вібрацією...
84542. Артеріальний пульс, його походження СФГ, її аналіз 43.09 KB
  При аналізі СФГ враховують перш за все стан стінок крупних артеріальних судин. Про це можна судити за конфігурацією СФГ вираженості окремих її хвиль. Розрахунок тривалості серцевого циклу проводять по полікардіограмі синхронно зареєстровані ЕКГ ФКГ СФГ.
84543. Регуляція діяльності серця. Міогенні та місцеві нервові механізми регуляції діяльності серця 40.8 KB
  Міогенні та місцеві нервові механізми регуляції діяльності серця. Баланс притоку та відтоку крові притік крові до серця по венозних судинах; відтік за рахунок активного вигнання крові шлуночками серця; 2. Рівний хвилинний обєм крові ХОК правого та лівого відділів серця; 3.
84544. Місцеві міогенні механізми регуляції серцевої діяльності 48.71 KB
  Залежність ССС від вихідної довжини КМЦ. Залежність ССС від опору вигнанню рівня артеріального тиску. Залежність ССС від ЧСС. Тому суть цього механізму можна викласти так: чим більше крові притікає до серця під час діастоли тим більша вихідна довжина КМЦ тим більша ССС СО.
84545. Характер і механізми впливів симпатичних нервів на діяльність серця. Роль симпатичних рефлексів в регуляції серцевої діяльності 44.58 KB
  Характер впливів симпатичної нервової системи на серце: позитивний інотропний вплив посилює силу серцевих скорочень; позитивний хронотропний вплив посилює ЧСС; позитивний дромотропний вплив посилює швидкість проведення збудження по елементам провідної системи серця особливо по передсердношлуночковому вузлу структурам провідної системи шлуночків; позитивний батмотропний вплив збільшення збудливості. Медіатор норадреналін взаємодіє переважно з βадренорецепторами оскільки αадренорецепторів тут майже немає при цьому...
84546. Характер і механізми впливів парасимпатичних нервів на діяльність серця. Роль парасимпатичних рефлексів в регуляції серцевої діяльності 44.78 KB
  Механізм впливів блукаючого нерва на серце повязаний із дією медіатора ацетилхоліну на мхолінорецептори КМЦ типових і атипових. В результаті підвищується проникність мембран КМЦ для йонів калію посилення виходу йонів із клітини за градієнтом концентрації що в свою чергу веде до: розвитку гіперполяризації мембран КМЦ; найбільше цей ефект виражений в клітинах з низьким вихідним рівнем мембранного потенціалу найбільше в вузлах АКМЦ: пазуховопередсердному та передсердношлуночковому де МПС = 60мВ; менше в КМЦ передсердь; найменше ...