|
| 1 | +--- |
| 2 | +title: Архитектура клиент-сервер |
| 3 | +status: Completed |
| 4 | +category: concept |
| 5 | +tags: ["architecture", "fundamental", ""] |
| 6 | +--- |
| 7 | + |
| 8 | +В клиент-серверной архитектуре логика (или код), составляющая приложение, распределяется между двумя или более компонентами: |
| 9 | +клиентом, запрашивающим выполнение некой работы |
| 10 | +(например, веб-приложение Gmail, работающее в браузере), |
| 11 | +и одним или несколькими серверами, удовлетворяющими этот запрос |
| 12 | +(например, сервис отправки почты, работающий на компьютерах Google в облаке). |
| 13 | +В этом примере исходящие письма отправляются клиентом (веб-приложением, работающим в браузере) |
| 14 | +на сервер (компьютеры Gmail, которые пересылают их получателям). |
| 15 | + |
| 16 | +Этот подход отличается от автономных приложений (например, десктопных), которые выполняют всю работу в одном месте. |
| 17 | +Например, текстовый процессор Microsoft Word может быть установлен на персональный компьютер и работать только на нем. |
| 18 | + |
| 19 | +## Какую проблему решает |
| 20 | + |
| 21 | +Архитектура клиент-сервер решает серьезную проблему, с которой сталкиваются автономные приложения: регулярное обновление. |
| 22 | +Чтобы обновить автономное приложение, пользователям необходимо загрузить и установить последнюю версию. |
| 23 | +А теперь представьте, что для просмотра каталога товаров Amazon вам необходимо сначала загрузить его себе на компьютер! |
| 24 | + |
| 25 | +## Как именно решает проблему |
| 26 | + |
| 27 | +Когда логика приложения реализована на удаленном сервере или в сервисе, операторы могут обновлять ее, |
| 28 | +не меняя логику на стороне клиента. |
| 29 | +Поэтому обновления можно производить гораздо чаще. |
| 30 | +Хранение данных на сервере позволяет различным клиентам видеть одни и те же данные и совместно их использовать. |
| 31 | +Рассмотрим разницу между онлайновым текстовым процессором и традиционным офлайновым, который работает на локальном компьютере. |
| 32 | +В первом случае ваши файлы находятся на стороне сервера и |
| 33 | +могут быть доступны другим пользователям, которые просто скачивают их с сервера. |
| 34 | +Во втором случае (когда Интернет не был доступен повсеместно) файлы приходилось копировать |
| 35 | +на съемные носители (дискеты!) и передавать каждому пользователю по отдельности. |
0 commit comments