2.71M
Category: internetinternet

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

1.

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

2.

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

3.

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

4.

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

5.

Виды сетевых протоколов
• TCP/IP - Протокол двусторонней связи
— HTTP (Hyper Text Transfer Protocol) — это протокол передачи гипертекста. Протокол HTTP используется
при пересылке Web-страниц между компьютерами, подключёнными к одной сети.
— FTP (File Transfer Protocol) — это протокол передачи файлов со специального файлового сервера на
компьютер пользователя. FTP даёт возможность абоненту обмениваться двоичными и текстовыми файлами
с любым компьютером сети.
— SMTP (Simple Mail Transfer Protocol) — протокол, который задаёт набор правил для передачи почты.
— TELNET — это протокол удалённого доступа. TELNET даёт возможность абоненту работать на любой
ЭВМ находящейся с ним в одной сети, как на своей собственной, то есть запускать программы, менять
режим работы и так далее.
• UDP - Протокол односторонней связи

6.

Сравнение TCP и UDP

7.

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

8.

Возможные структуры деления

9.

Виды клиентов
«Тонкий» клиент
Этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения
через web-интерфейс. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение
JavaScript не предусматривается), вся прикладная логика выполняется на сервере.
Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все
действия. По этой причине web-браузер часто называют "универсальным клиентом”.
«Толстый» клиент
Таковым является рабочая станция или персональный компьютер, работающие под управлением собственной дисковой операционной
системы и имеющие необходимый набор программного обеспечения. К сетевым серверам «толстые» клиенты обращаются в основном
за дополнительными услугами (например, доступ к web-серверу или корпоративной базе данных).
Так же под «толстым» клиентом подразумевается и клиентское сетевое приложение, запущенное под управлением локальной ОС. Такое
приложение совмещает компонент представления данных (графический пользовательский интерфейс ОС) и прикладной компонент
(вычислительные мощности клиентского компьютера).

10.

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

11.

Принцип работы браузера
Когда вы вводите веб-адрес в свой браузер:
1. Браузер обращается к DNS серверу и находит реальный адрес сервера, на котором "живет" сайт.
2. Браузер посылает HTTP запрос к серверу, запрашивая его отправить копию сайта для клиента.
Это сообщение и все остальные данные, передаваемые между клиентом и сервером, ОБЫЧНО
передаются по интернет-соединению с использованием протокола TCP/IP.
3. Если сервер одобряет запрос клиента, сервер отправляет клиенту статус "200 ОК", а затем
начинает отправку файлов сайта в браузер в виде небольших порций, называемых пакетными
данными.
4. Браузер собирает маленькие куски в полноценный сайт и показывает его вам.
English     Русский Rules