-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2
More file actions
50 lines (40 loc) · 4.32 KB
/
2
File metadata and controls
50 lines (40 loc) · 4.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
Клиент-сервер
Клиент-сервер - это такая архитектура, в которой нагрузка распределяется между поставщиком (сервер/сервис)
и заказчиком (клиент) услуг. Фактически клиент и сервер - это программы, которые обычно работают на разных хостах
и взаимодействуют между собой через компьютерну. сеть. Но, они могут быть расположены и на одном хосте и взаимодействовать
через сетевой интерфей loopback.
Серверы ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных. Например,
передача веб-страниц с веб-сервера или проверка новых писем почтовом сервере. Другими словами, клиент
отправляет запросы на сервер и ожидает на сервер и ожидает ответа с данными.
Один сервер, как правило, может обрабатывать запросы от множества клиентов. Поэтому, сервер размещают
на более производительном хосте. Из-за особой роли такого хоста в сети, специфики его оборудования и
программного обеспечения, его также назывуают сервером, а машины, выполняющие клиентские программы,
соответственно, клиентами.
Вот некоторые примеры клиентов и соответствующих им серверов:
Клиент
Веб-браузер (IE, Chrome, Opera, Mozilla и т.д.)
Сервер
Веб-сервер (он же HTTP сервер) Nginx, Apache 2, IIS.
Почтовые клиенты (Outlook, Mozilla Thunderbird, The Bat и т.д.)
Почтовый сервер (IMAP и/или POP3 сервер)
Служба обновления Windows
Windows Update Server
Telegram desktop/mobile/bot
Telegram сервер
Достоинства клиент-серверной архитектуры:
- мощный сервер дешевле множества мощных клиентских машин;
- нет дублирования кода и данных - основной код и данные хранятся на сервере. Это существенно уменьшает
требования к клиенту;
- данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На
сервере проще организовать контроль полномочий, чтобы разрешать доступ к данным только клиентам с
соответствующими правами доступа.
Недостатки:
- выход из строя сервера может сделать неработоспособными всех клиентов (неработоспособным
сервером будем ссчитать сервер, производительности которого не хватает на обслуживание всех клиентов,
а также сервер, находяшийся на ремонте, профилактике и т.п.). Именно по этой причине критически важные
сервера часто дублируются и нагрузка между ними равномерно распределяется. Например, у Яндекс поиска,
Вконтакте, mail.ru и других крупных сервисов несколько веб-серверов. Периодически, открывая их страницу
в браузере, вы подключаетесь к разным серверам;
- поддержка работы сервера требует отдельного специалиста;
- высокая стоимость оборудования.