Модель реализации технологии клиент сервер в которой программа выполняемая на компьютере клиенте

Многообразие компьютерных сетей и форм взаимодействия компьютеров порождает насущную проблему их интеграции или по крайней мере соединения на уровне обмена информацией.

В распределенных системах используются три интегрирован­ные технологии:

1. Технология «клиент — сервер».

2. Технология совместного использования ресурсов в рамках глобальных сетей.

3. Технология универсального пользовательского общения в виде электронной почты

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

Технология «клиент — сервер» получает все большее распро­странение, но реализация технологии в конкретных програм­мных продуктах существенно различается.

Клиент-серверная архитектура в картинках

выделяют три модели реализации тех­нологии «клиент—сервер»:

— модель доступа к удаленным данным (Remote Data Access — RDA);

— модель сервера базы данных (DataBase Server — DBS);

— модель сервера приложений (Application Server — AS).

В RDA — модели программы представления и прикладные программы объединены и выполняют на компьютере-клиенте, который поддерживает как операции ввода и отображения дан­ных, так и прикладные операции. Доступ к информационным ре­сурсам обеспечивается или операциями языка SQL, если речь идет о базах данных, или вызовами функций специальной библи­отеки. Запросы к информационным ресурсам направляются по сети удаленному компьютеру, например, серверу базы данных, который обрабатывает запросы и возвращает клиенту необходи­мые для обработки блоки данных

DBS-модель строится в предположении, что программы, вы­полняемые на компьютере-клиенте, ограничиваются вводом и отображением, а прикладные программы реализованы в проце­дурах базы данных и хранятся непосредственно на компьютере — сервере базы данных вместе с программами, управляющими и доступом к данным — ядру СУБД

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

В AS-модели программа, выполняемая на компьютере-кли­енте, решает задачу ввода и отображения данных, т.е. реализует операции первой группы. Прикладные программы выполняются одним либо группой серверов приложений (удаленный компью­тер или несколько компьютеров). Доступ к информационным ре­сурсам, необходимым для решения прикладных задач, обеспечи­вается так же, как и в RDA-модели.

Прикладные программы обеспечивают доступ к ресурсам различных типов — базам дан­ных, индексированным файлам, очередям и др. RDA-модели опираются на двухзвенную схему разделения операций, где при­кладная программа выделена как важнейшая (рис. 9.21).

Клиент-сервер архитектура простыми словами. Что такое клиент — сервер? | 2022

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

Глобальные сети (Wide Area Network, WAN) — это телеком­муникационные структуры, объединяющие локальные инфор­мационные сети, имеющие протокол связи, методы подключе­ния и протоколы обмена данными. Каждая из глобальных сетей (Internet, Bitner, Decnet и др.) организовывалась для определен­ных целей, а в дальнейшем расширялась за счет подключения ло­кальных сетей, использующих ее услуги и ресурсы.

Крупнейшей глобальной информационной сетью является Internet. Передача данных в этой сети организована на основе протокола Internet-IP (Internet Protocol), представляющего собой описание работы сети, которое включает правила налаживания и поддержания связи в сети, обращения с IP-пакетами и их обра­ботки, описания сетевых пакетов семейства IP. Сеть спроектиро­вана таким образом, что пользователь не имеет никакой инфор­мации о конкретной структуре сети. Чтобы послать сообщение по сети, компьютер размещает данные в некий «конверт», назы­ваемый, например, IP, с указанием конкретного адреса.

Электронная почта является популярной услугой вычисли­тельных сетей, и поставщики сетевых операционных систем ком­плектуют свои продукты средствами поддержки электронной почты.

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

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

Электронная почта глобальных сетей передачи сообщений, где могут объединяться компьютеры самых различных конфигу­раций и со вместимостей, обеспечивает:

— работу в онлайновом режиме, когда не требуется постоян­ного присутствия на почтовом узле. Достаточно указать специальной программе-почтовику (Mailer) время систем­ных событий и адреса, где следует забирать почту;

— доступ к телеконференциям (Echo Conference);

— доступ к файловым телеконференциям (File Conference).

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

К обработке сообщений относятся такие функции, как пе­чать, удаление, переадресация письма, сортировка, архивирова­ние сообщений, хранение связанных сообщений. Особо следует выделить программы, позволяющие работать с папками, созда­вать свои папки для хранения в них сообщений по различным те­мам. Это очень удобно и помогает быстрее и эффективнее обра­батывать почту.

Источник: poisk-ru.ru

Обзор технологии клиент-сервер

клиент-сервер статья

«Клиент-сервер» – современная технология, предполагающая распределение нагрузки и заданий между теми, кто предоставляет услуги и теми, кто их использует. Называют их «сервером» и «клиентом» соответственно. Речь идет о программном обеспечении, размещенном на одной или нескольких принципиально отличных вычислительных машинах. Взаимодействие «клиент сервер» выполняется через сеть на основании ряда протоколов. Познакомимся с этой технологией более подробно, ее особенностями, преимуществами и недостатками.

Читайте также:
Программа которая читает все файлы

Немного о структуре

Основные роли в этой структуре распределены между двумя «узлами»:

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

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

Модель клиент сервер предполагает использование следующих компонентов:

  1. Клиент. Это рабочая станция с одной выходной точкой – конечный пользователь. В его обязанности входит отправка запросов и получение ответа. Их количество может быть любым.
  2. Сервер. В одном контуре предусмотрена лишь одна структурная единица. Взаимодействует со всеми клиентами, подсоединенными к нему. Обрабатывает поставленные задачи, составляет и направляет ответы.
  3. Сеть. Структурная единица, предназначенная для осуществления обмена данными. Соединяет отдельные рабочие машины с общими ресурсами.
  4. Приложения. ПО, при помощи которого выполняется обработка данных, обеспечение физического распределения между основными структурными элементами. Предусмотрены отдельные продукты для сервера, направленные на сбор информации, работу с ней и хранение, а также для клиента.

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Особенности технологии

Сервер работает в многопользовательском режиме, то есть может одновременно поддерживать работу с большим количеством клиентов. Машина автоматически выставляет приоритеты, ориентируясь на очередность поступления запросов, обрабатывает их и отправляет обратно результаты. Сервер позволяет настраивать приоритеты не только исходя из очереди поступления запросов, но и по другим параметрам, как пример – по важности. Тогда такие запросы будут обработаны первыми, даже если поступят позже.

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

В своем большинстве в роли клиента выступает браузер определенного пользователя. А вот в качестве сервера может использоваться:

  • аппаратное обеспечение типа http;
  • кластеры серверов;
  • локальные машины.

Обмен данными между узлами осуществляется на основании сетевых протоколов. И для каждой из услуг предусмотрен свой торрент. Вариантов очень много. Так, для обработки пользовательских запросов предназначается протокол http. Он предполагает соблюдение четкой структуры с данными, которые нужно будет предоставить. Требования предъявляются даже к оформлению.

В ответ на http-запрос сервер присылает html документ. Запрос от клиента сопровождается дополнительными данными, которые дают серверу понять, как с ними работать. В ответе от серверного оборудования также идут сторонние коды, помимо запрошенных данных. Они помогут браузеру правильно «понять» сообщение сервера. То есть вся инициатива в работе идет от клиента.

Сервер только дает ответ на запрос и указывает, какие условия для этого требуется соблюсти.

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

Разновидности клиент-серверной архитектуры

Выделяют следующие типы архитектуры клиент серверов:

  • Одноуровневая.
  • Двухуровневая.
  • Трехуровневая.
  • Многоуровневая.

Одноуровневая

Клиент-сервер 1-уровневая

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

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

Двухуровневая

Клиент-сервер 2-уровневая

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

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

Среди достоинств такого решения выделяют:

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

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

Трехуровневая

Клиент-сервер 3-уровневая

Здесь центральный, файловый и другие разновидности серверного аппаратного обеспечения –особый уровень, предназначенный для обслуживания сервера приложений. В сфере предложений находится логика данных и бизнес-логика. Клиент связывается с БД не напрямую, а через специальное промежуточное ПО, размещенное на сервере приложений. Такое решение обеспечило повышение продуктивности взаимодействия и улучшило вариативность функционирования.

Технология клиент сервер с архитектурой третьего уровня имеет 3 ключевых достоинства:

  • абсолютная целостность потока;
  • отличный уровень защиты БД от доступа злоумышленников;
  • большая безопасность в сравнении с предыдущими вариантами.

Но наличие промежуточного ПО существенно усложняет структуру взаимосвязи между клиентом и сервером. А это уже – недостаток решения.

Многоуровневая

Клиент-сервер многоуровневая

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

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

Читайте также:
Лучшая программа для ломбардов

Преимущества и ограничения технологии клиент-сервер

Подводя итоги, стоит выделить обобщенные преимущества, присущие принципу «клиент-сервер»:

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

Но технология имеет ряд весомых ограничений:

  1. Есть высокий риск перегрузки трафика. Актуально для ситуаций, когда большое количество пользователей одновременно запрашивают одну и ту же услугу.
  2. В небольших сетях, основанных только на одном сервере есть только одна точка отказа. И если это оборудование выйдет из строя, все клиенты лишаться обслуживания.
  3. Вероятность отказа в обслуживании новых клиентов в случае превышение ресурса системы.
  4. Необходимость установки специальных драйверов для работы некоторых программ. Как пример принтеров, видеокарт, веб-камер, колонок и пр.
  5. Необходимость в привлечении услуг системного администратора для управления системой.

Область применения

связь между устройствами

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

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

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

Более подробно с особенностями данной технологии и ее областью применения вас познакомят специалисты компании «Xelent». Связаться с ними можно по телефону или через форму обратной связи.

Популярные услуги
Размещение серверов (colocation)

Архитектура «Клиент-Сервер»

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

В архитектуре «Клиент-Сервер» несколько компьютеров-клиентов (удалённые системы) посылают запросы и получают услуги от централизованной служебной машины – сервера (server – англ. «официант, обслуга»), которая также может называться хост-системой (host system, от host – англ. «хозяин», обычно гостиницы).

Клиентская машина предоставляет пользователю т.н. «дружественный интерфейс» (user-friendly interface), чтобы облегчить его взаимодействие с сервером.

Архитектура «Клиент-Сервер».

Рис. 1. Архитектура «Клиент-Сервер».

Типы клиент-серверной архитектуры

Архитектуру «клиент-сервер» принято разделять на три класса: одно-, двух- и трёхуровневую. Однако, нельзя сказать, что в вопросе о таком разделении в сообществе ИТ-специалистов существует полный консенсус. Многие называют одноуровневую архитектуру двухуровневой и наоборот, то же можно сказать о соотношении двух- и трёхуровневой архитектур.

Постараемся внести ясность в этот вопрос.

Одноуровневая архитектура (1-Tier)

Одноуровневая архитектура «клиент-сервер» (1-Tier) – такая, где все прикладные программы рассредоточены по рабочим станциям, которые обращаются к общему серверу баз данных или к общему файловому серверу. Никаких прикладных программ сервер при этом не исполняет, только предоставляет данные.

Одноуровневая архитектура «клиент-сервер» (1-Tier)

Рис. 2. Одноуровневая архитектура «клиент-сервер» (1-Tier).

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

Двухуровневая архитектура (2-Tier)

К двухуровневой архитектуре «клиент-сервер» следует относить такую, в которой прикладные программы сосредоточены на сервере приложений (Application Server), например, сервере 1С или сервере CRM, а в рабочих станциях находятся программы-клиенты, которые предоставляют для пользователей интерфейс для работы с приложениями на общем сервере.

Двухуровневая архитектура «клиент-сервер» (2-Tier)

Рис. 3. Двухуровневая архитектура «клиент-сервер» (2-Tier).

Такая архитектура представляется наиболее логичной для архитектуры «клиент-сервер». В ней, однако, можно выделить два варианта. Когда общие данные хранятся на сервере, а логика их обработки и бизнес-данные хранятся на клиентской машине, то такая архитектура носит название “fat client thin server” (толстый клиент, тонкий сервер). Когда не только данные, но и логика их обработки и бизнес-данные хранятся на сервере, то это называется “thin client fat server” (тонкий клиент, толстый сервер). Такая архитектура послужила прообразом облачных вычислений (Cloud Computing).

Преимущества двухуровневой архитектуры:

  • Легко конфигурировать и модифицировать приложения;
  • Пользователю обычно легко работать в такой среде;
  • Хорошая производительность и масштабируемость.

Однако, у двухуровневой архитектуры есть и ограничения:

  • Производительность может падать при увеличении числа пользователей;
  • Потенциальные проблемы с безопасностью, поскольку все данные и программы находятся на центральном сервере;
  • Все клиенты зависимы от базы данных одного производителя;

Трёхуровневая архитектура (3-Tier)

В трёхуровневой архитектуре сервер баз данных, файловый сервер и другие представляют собой отдельный уровень, результаты работы которого использует сервер приложений. Логика данных и бизнес-логика находятся в сервере приложений. Все обращения клиентов к базе данных происходят через промежуточное программное обеспечение (middleware), которое находится на сервере приложений. Вследствие этого, повышается гибкость работы и производительность.

Трёхуровневая архитектура «клиент-сервер» (3-Tier)

Рис. 4. Трёхуровневая архитектура «клиент-сервер» (3-Tier).

Преимущества трёхуровневой архитектуры:

  • Целостность данных;
  • Более высокая безопасность, по сравнению с двухуровневой архитектурой;
  • Защищённость базы данных от несанкционированного проникновения.
  • Более сложная структура коммуникаций между клиентов и сервером, поскольку в нём также находится middleware.

Многоуровневая архитектура (N-Tier)

В отдельный класс архитектуры «клиент-сервер» можно вынести многоуровневую архитектуру, в которой несколько серверов приложений используют результаты работы друг друга, а также данные от различных серверов баз данных, файловых серверов и других видов серверов.

По сути, предыдущий вариант, трёхуровневая архитектура – не более, чем частный случай многоуровневой архитектуры.

Многоуровневая архитектура «клиент-сервер» (N-Tier)

Рис. 5. Многоуровневая архитектура «клиент-сервер» (N-Tier).

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

Читайте также:
Программа которая сама звонит

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

Характеристики архитектуры «клиент-сервер»

  • Асимметричность протоколов. Между клиентами и сервером существуют отношения «один ко многим». Инициатором диалога с сервером обычно является клиент.
  • Инкапсуляция услуг. После получения запроса на услугу от клиента, сервер решает, как должна быть выполнена данная услуга. Модификация («апгрейд») сервера может производиться без влияния на работу клиентов, поскольку это не влияет на опубликованный интерфейс взаимодействия между ними. Иными словами, максимум, что может при этом почувствовать пользователь – незначительная задержка отклика сервера в течение небольшого времени апгрейда.
  • Целостность. Программы и общие данные для сервера управляются централизованно, что снижает стоимость обслуживания и защищает целостность данных. В то же время, данные клиентов остаются персонифицированными и независимыми.
  • Местная прозрачность. Сервер – это программный процесс, который может исполняться на той же машине, что и клиент, либо на другой машине, подключенной по сети. Программное обеспечение «клиент-сервер» обычно скрывает местоположение сервера от клиентов, перенаправляя запрос на услуги через сеть.
  • Обмен на основе сообщений. Клиенты и сервер являются нежёстко связанными («loosely-coupled») процессами, которые обмениваются сообщениями: запросами на услуги и ответами на них.
  • Модульный дизайн, способный к расширению. Модульный дизайн программной платформы «клиент-сервер» придаёт ей устойчивость к отказам, то есть, отказ в каком-то модуле не вызывает отказа всего приложения. В такой системе, один или больше серверов могут отказать без остановки всей системы в целом, до тех пор, пока услуги отказавшего сервера могут быть предоставлены с резервного сервера. Другое преимущество модульности в том, что приложение «клиент-сервер» может автоматически реагировать на повышение или понижение нагрузки на систему, путём добавления или отключения услуг или серверов.
  • Независимость от платформы. Идеальное приложение «клиент-сервер» не зависит от платформ оборудования или операционной системы. Клиенты и серверы могут развёртываться на различных аппаратных платформах и разных операционных системах.
  • Масштабируемость. Системы «клиент-сервер» могут масштабироваться как горизонтально (по числу серверов и клиентов), так и вертикально (по производительности и спектру услуг).
  • Разделение функционала. Система «клиент-сервер» — это соотношение между процессами, работающими на одной или на разных машинах. Сервер – это процесс предоставления услуг. Клиент – это потребитель услуг.
  • Общее использование ресурсов. Один сервер может предоставлять услуги множеству клиентов одновременно, и регулировать их доступ к совместно используемым ресурсам.

Практические применения архитектуры «клиент-сервер»

Архитектуры «клиент-сервер» — один из основных принципов работы сети Интернет. Любой веб-сайт, или приложение в Интернет работает на сервере, а его пользователи являются клиентами. Социальные сети (Фейсбук, ВК и пр.), сайты электронной коммерции (Amazon, Озон и др.) , мобильные приложения (Instagram и т.д.), устройства Интернета вещей (умные колонки или смарт-часы) работают на основе клиент-серверной архитектуры.

Хорошим примером работы системы «клиент-сервер» является автомобильный навигатор. Приложение навигации на сервере собирает данные с многих смартфонов пользователей, на которых установлены клиенты приложения. Кроме того, приложение навигации использует ещё и данные с сервера базы данных – геоинформационной системы, который предоставляет данные, например, о текущих ремонтах дорог, о появлении новых дорог и пр. Данные со многих клиентов (местоположение, скорость) обрабатывается сервером навигации и выдаётся на смартфоны пользователей в виде информации о средней скорости движения по тому или иному участку маршрута.

Практически любая корпоративная сеть или ИТ-система предприятия, как правило, строится по архитектуре «клиент-сервер». В небольших сетях (3-5 компьютеров в компании) функции сервера может выполнять один из рабочих компьютеров. Если число машин в организации более 10, то лучше сделать выделенный сервер (почтовый сервер, приложений, баз данных и пр.), который будет заниматься обслуживанием клиентов – компьютеров и телефонов сотрудников организации.

В домашних сетях архитектура «клиент-сервер» тоже используется довольно часто. Например, в домашнюю сеть могут быть объединены компьютеры членов семьи, один из которых выполняет функции сервера. В домашнюю сеть также могут быть включены такие устройства, как умные колонки, умные домашние устройства (пылесосы-роботы, фотоаппараты, DVD-плееры и пр.), а также «умные» счётчики (вода, электричество) и т.д. Тогда в системе управления сервера, будут видны все параметры, данные и медифайлы (музыка, видео, фото), а также «умные устройства».

Преимущества и недостатки архитектуры «клиент-сервер»

К преимуществам архитектуры «клиент-сервер» можно отнести:

  • Централизованность, поскольку все данные и управление сосредоточены в центральном сервере;
  • Информационная безопасность, поскольку ресурсы общего пользования администрируются централизованно;
  • Производительность, использование выделенного сервера повышает скорость работы ресурсов общего пользования;
  • Масштабируемость, количество клиентов и серверов можно увеличивать независимо друг от друга.

К недостаткам архитектуры «клиент-сервер» следует отнести:

  • Перегрузку трафика в сети, что является главной проблемой в сетях «клиент-сервер». Когда большое число клиентов одновременно запрашивают одну услугу на сервере, то число запросов может создать перегрузку в сети;
  • Наличие единой точки отказа в небольших сетях с одним сервером. Если он отказывает, все клиенты остаются без обслуживания;
  • Превышение пределов ресурсов сервера, когда новые клиенты, запрашивающие услугу, остаются без обслуживания. В таких случаях, требуется срочное расширение ресурсов сервера;
  • Иногда клиентские программы могут не работать на терминалах пользователей, если не установлены соответствующие драйверы. Например, пользователь посылает запрос на печать документа, а на сервере нет подходящего драйвера для печати данного формата документа на определённом принтере.

Заключение

В настоящее время можно встретить термин Serverless Architecture, т.н. «бессерверная архитектура». Однако, по сути, она представляет собой процесс получения функций сервера в виде облачной услуги. То есть, серверы в облаке тоже есть, но для конечного пользователя они не видны, и он получает их сервисы в виде абстрактной «функции как услуги» FaaS (Function as a Service).

Архитектура «клиент-сервер» является основой большинства корпоративных сетей и берёт свое начало от самых первых вычислительных машин, т.н. «мэйнфреймов». Программное обеспечение для локальных компьютерных сетей, подавляющее большинство которых основано на архитектуре «клиент-сервер», начало создаваться около 50 лет назад.

Дальнейшее развитие информационных технологий также будет происходить в значительной степени с использованием архитектуры «клиент-сервер».

Вам может быть интересно:

Источник: itelon.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru