Клиент-сервер (Client-server) – вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами.
Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.
Сама технология очень проста. Например пользователь делает запрос (в google ищет информацию), а сервер выдает ответ (в виде списка сайтов по этой информации). Это и есть самый простой пример данной технологии. Графически это выглядит так:
Модель клиент-сервер используется при построении системы обработки информации на основе СУБД, а также почтовые системы. Существует еще так называемая файл-серверная архитектура, которая существенно отличается от клиент-серверной.
Данные в файл-серверной системе сохраняются на файловом сервере (Novell NetWare или WindowsNT Server), а обрабатываются они на рабочих станциях посредством функционирования «настольных СУБД», таких как Access, Paradox, FoxPro и т.п.
Преимущества технологии «клиент-сервер»
1. Делает возможным, в большинстве случаев, распределение вычислительной системы между несколькими независимыми компьютерами в сети.
Это позволяет упростить обслуживание вычислительной системы. В частности, замена, ремонт, модернизация или перемещение сервера не затрагивают клиентов.
2. Все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа.
3. Позволяет объединить различных клиентов. Использовать ресурсы одного сервера часто могут клиенты с разными аппаратными платформами, операционными системами и т.п.
Недостатки технологии «клиент-сервер»
Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть.
Поддержка работы данной системы требует отдельного специалиста системного администратора.
Высокая стоимость оборудования.
Многоуровневая архитектура клиент-сервер
Многоуровневая архитектура клиент-сервер – разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов.
Сеть с выделенным сервером
Сеть с выделенным сервером (Client/Server network) — это локальная вычислительная сеть (LAN), в которой сетевые устройства централизованы и управляются одним или несколькими серверами. Индивидуальные рабочие станции или клиенты (такие, как ПК) должны обращаться к ресурсам сети через сервер(ы).