Мы постоянно слышим про серверы в интернете: как на них что-то установить, как настроить, как подключиться. Но что физически собой представляет сервер?
Раньше это были огромные шкафы, набитые электроникой, а сейчас сервером может стать даже одноплатный компьютер. Рассказываем, как такое возможно и чем отличается сервер от обычного компьютера.
Что есть сервер
У слова «сервер» два значения:
- Компьютер, который выполняет функции сервера, то есть раздатчика ответов на запросы. Компьютер — то есть какая-то материнская плата с процессором, памятью, накопителем и операционной системой.
- Программа, которая работает на этом компьютере, чтобы раздавать ответы на запросы.
Мы сегодня говорим о компьютерах. О программах мы говорим в другом цикле →
Что делают серверы
Главная задача сервера — выполнять запросы пользователей. Пользователи называются клиентами, как клиенты в ресторане. Они отправляют на сервер запрос, а тот должен его исполнить по правилам, которые прописаны в его софте.
Например, запросы могут быть такими:
- дай фотографию aguilera.jpg из папки pics;
- сохрани у себя файл cambio_dolor.mp3;
- отрисуй кусочек карты вот с такими координатами и таким-то масштабом;
- пришли сообщения, которые я ещё не прочитал;
- обработай json;
- прими данные, введённые в форму.
А вот как серверы могут реагировать:
- никак, если запрос составлен неправильно или у пользователя нет прав на такой запрос;
- выполнить запрос;
- сообщить об ошибке;
- и ещё могут быть любые действия, на которые их запрограммировали.
Получается, что всё, что делает сервер, — это получает запросы и реагирует на них. Больше никакой магии в серверах нет.
Сервер в стойке
Наверняка вы видели такое в фильмах про хакеров или в новостях по телевизору про дата-центры и инновации: много проводов, мигают лампочки и размером с хороший советский шкаф. Обычно это выглядит примерно так:
Но на самом деле это не сервер, а серверная стойка — специальный железный ящик, куда вкручиваются серверы — широкие и плоские компьютеры:
Именно такой плоский компьютер и есть сервер, а не вся стойка целиком. У такого компьютера могут быть разъёмы для клавиатуры и монитора, но их подключают, только когда что-то сломалось. Обычно в сервер просто втыкают сетевой кабель и настраивают всё через консоль.
А стойки нужны, чтобы серверы было удобно хранить и размещать в помещениях, или соединять несколько серверов в один большой суперкомпьютер для сложных задач. Также стойку проще охлаждать, запитывать и обслуживать, чем груду отдельно стоящих компьютеров.
Обычный компьютер в виде сервера
Обычный системник, который стоит дома, тоже может быть сервером, если его подключить к интернету и научить обрабатывать запросы.
Например, примером такого сервера может быть домашнее файловое хранилище:
- ставим в системный блок много жёстких дисков;
- делаем из них RAID-массив;
- ставим туда линукс или настраиваем софт на Windows;
- покупаем у провайдера постоянный IP-адрес, чтобы к компьютеру можно было получить доступ откуда угодно;
- настраиваем правила безопасности;
- настраиваем резервное копирование на этот системник данных со всех домашних устройств.
В итоге вы получите полноценный сервер, задачей которого будет собирать, хранить, а потом отдавать вам по запросу ваши файлы.
Одноплатный сервер
У сервера может быть и такая задача: собирать данные с погодных датчиков, обрабатывать их, получать данные с соседних серверов и присылать каждый час в телеграм самый точный прогноз.
Для этого не нужен ни сервер в стойке, ни даже системник — достаточно простого одноплатного компьютера на линуксе. Под такие задачи хватит и слабого железа, тем более что разместить его можно где угодно, энергии ест мало и работает бесшумно. Главное — чтобы было подключение к интернету.
Зачем нам так много серверов?
У каждого сервера своя задача: одни хранят фотки, другие — любые файлы, третьи обслуживают соцсети, четвёртые нужны для работы госучреждений, на пятых крутятся игровые комнаты и так далее.
Общее правило такое — под более-менее важную для проекта задачу делают отдельный сервер. А так как задач у людей много, то и серверов, которые решают эти задачи, тоже много.