что такое локальный клиент

Тонкий клиент – что это и с чем его едят (на примере WTWare)

Тонкий клиент (англ. thin client) в компьютерных технологиях — бездисковый компьютер-клиент в сетях с клиент-серверной или терминальной архитектурой, который переносит все или большую часть задач по обработке информации на сервер (Wikipedia ).

Если проще, то тонкий клиент – это недокомьютер, который загружает легкую операционную систему (обычно используется Linux, в обзоре возьмем это за априори) и соединяется с терминальным сервером.

Обычно тонкие клиенты создаются для экономии на железе и ПО, в редких случаях по иным соображениям.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

В этой статье я постараюсь сделать краткий обзор WTWare, являющегося Linux дистрибьютивом, разработанным специально для создания тонких клиентов.

Сначала о тонком клиенте.

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

WTWare — дистрибутив GNU/Linux, разработанный специально для создания тонких клиентов. За основу взят популярный клиент под названием Thinstation. Основное различие – ориентированность на русских пользователей (в самом Thinstation есть проблемы с кириллицей), плюс всякие мелкие фиксы.

Я не буду рассказывать про настройку DHCP и TFTP серверов, там все вполне стандартно. Напомню только, что в DHCP сервере нужно указать адрес TFTP сервера, а в TFTP сервере путь до файла загрузки и имя этого самого файла.

Так же я не буду углубляться в тонкую настройку WTWare, т.к. информация на официальном сайте WTWare вполне доступная, ее много и вся она на русском языке. Укажу лишь на основные аспекты.

Итак. В первую очередь качаем образ Thinstation с сайта WTWare. Распаковываем.
Загрузочный файл называется pxelinux.0 при загрузке по протоколу PXE (если BootROM встроен в вашу сетевую или материнскую плату) или wtshell.nbi для загрузчика Etherboot (при использовании эмулятора BootROM).

К слову говоря, Etherboot — оpensource проект, который выпускает прошивки практически для всех существующих сетевых карт. Прошивка Etherboot может быть записана в микросхему BootROM или flash-память сетевой карты, может быть запущена с дискеты или жесткого диска как загрузочный сектор или как программа из DOS.

Далее если вы загружаетесь через LAN и у вас правильно настроены DHCP и TFTP сервера – все должно заработать «как есть». Единственное – не будет найден терминальный сервер, ведь вы еще не конфигурировали ваши тонкие клиенты.

Если вы загружаетесь иным способом, то стоит прочитать тут, выбрав интересующий вас способ загрузки.

Опять таки я не буду углубляться в дебри конфигурационных файлов, потому как там сотни параметров. Тут можно увидеть их полный список. Я расскажу лишь об основных.

Конфигурационные переменные индивидуальных файлов:
user = username // имя пользователя
password = user_password // пароль пользователя
domain = enterprise_domain // домен предприятия

Если в индивидуальный файл записать переменную, которая присутствует в общем файле — она получит более высокий приоритет.

Так же в индивидуальные файлы прописываются дополнительно подключенные устройства, такие как принтеры, сканера и т.п.

И в конце хотел упомянуть об еще одной интересной возможности – подключение локальных ресурсов (Floppy, DVD, Flash, HDD, Sound). В конфиге выглядит примерно так:
floppy = on
cdrom = on
usb1 = on
sound = on
Диск будет доступен в сессии текущего пользователя из Проводника Windows по адресу: \\tsclient\.

Стоит заметить, что сама система бесплатна, но можно приобрести лицензию с очень интересной целью – что бы убрать логотип WTWare из загрузочной заставки. Как я понимаю, это сделано для предприятий, массово внедряющих данный продукт под эгидой аутсорсинга.

Оборудование для создания тонких клиентов:

На сайте WTWare так же можно приобрести оборудование для создания тонких клиентов (дабы не собирать их из хлама). Надо сказать, что оно (оборудование) отвечает всем требованиям гламура. Несколько скринов:
что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Ну, вот, пожалуй, и все. При правильной настройке терминального, DHCP и TFTP сервера все должно заработать слету. В интернете очень много русскоязычной литературы, поэтому проблем с настройкой быть не должно. Да и вообще в плане документации система мне очень понравилась, на сайте производителя есть почти все.

Источник

RDP. Игра в три буквы

Как известно, протокол удаленного рабочего стола (Remote Desktop Protocol или RDP) позволяет удаленно подключаться к компьютерам под управлением Windows и доступен любому пользователю Windows, если у него не версия Home, где есть только клиент RDP, но не хост. Это удобное, эффективное и практичное средство для удаленного доступа для целей администрирования или повседневной работы. В последнее время оно приглянулось майнерам, которые используют RDP для удаленного доступа к своим фермам. Поддержка RDP включена в ОС Windows, начиная еще с NT 4.0 и XP, однако далеко не все знают, как ею пользоваться. Между тем можно открывать удаленный рабочий стол Microsoft с компьютеров под Windows, Mac OS X, а также с мобильных устройств с ОС Android или с iPhone и iPad.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Если должным образом разбираться в настройках, то RDP будет хорошим средством удаленного доступа. Он дает возможность не только видеть удаленный рабочий стол, но и пользоваться ресурсами удаленного компьютера, подключать к нему локальные диски или периферийные устройства. При этом компьютер должен иметь внешний IP, (статический или динамический), или должна быть возможность «пробросить» порт с маршрутизатора с внешним IP-адресом.

Серверы RDP нередко применяют для совместной работы в системе 1С, или на них разворачивают рабочие места пользователей, позволяя им подключаться к своему рабочему месту удаленно. Клиент RDP позволяет дает возможность работать с текстовыми и графическими приложениями, удаленно получать какие-то данные с домашнего ПК. Для этого на роутере нужно пробросить порт 3389, чтобы через NAT получить доступ к домашней сети. Тоже относится к настройке RDP-сервера в организации.

RDP многие считают небезопасным способом удаленного доступа по сравнению с использованием специальных программ, таких как RAdmin, TeamViewer, VNC и пр. Другой предрассудок – большой трафик RDP. Однако на сегодня RDP не менее безопасен, чем любое другое решение для удаленного доступа (к вопросу безопасности мы еще вернемся), а с помощью настроек можно добиться высокой скорости реакции и небольшой потребности в полосе пропускания.

Как защитить RDP и настроить его производительность

Шифрование и безопасностьНужно открыть gpedit.msc, в «Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Безопасность» задать параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP» и в «Уровень безопасности» выбрать «SSL TLS». В «Установить уровень шифрования для клиентских подключений» выберите «Высокий». Чтобы включить использование FIPS 140-1, нужно зайти в «Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Локальные политики — Параметры безопасности» и выбрать «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания». Параметр «Конфигурация компьютера — Параметры Windows — Параметры безопасности — Локальные политики — Параметры безопасности» параметр «Учетные записи: разрешать использование пустых паролей только при консольном входе» должен быть включен. Проверьте список пользователей, которые могут подключаться по RDP.
ОптимизацияОткройте «Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Среда удаленных сеансов». В «Наибольшая глубина цвета» выберите 16 бит, этого достаточно. Снимите флажок «Принудительная отмена фонового рисунка удаленного рабочего стола». В «Задание алгоритма сжатия RDP» установите «Оптимизация использования полосы пропускания. В «Оптимизировать визуальные эффекты для сеансов служб удаленных рабочих столов» установите значение «Текст». Отключите «Сглаживание шрифтов».

Базовая настройка выполнена. Как подключиться к удаленному рабочему столу?

Подключение к удаленному рабочему столу

Для подключения по RDP необходимо, на удаленном компьютере была учетная запись с паролем, в системе должны быть разрешены удаленные подключения, а чтобы не менять данные доступа при постоянно меняющемся динамическом IP-адресе, в настройках сети можно присвоить статический IP-адрес. Удаленный доступ возможен только на компьютерах с Windows Pro, Enterprise или Ultimate.

Для удаленного подключения к компьютеру нужно разрешить подключение в «Свойствах Системы» и задать пароль для текущего пользователя, либо создать для RDP нового пользователя. Пользователи обычных аккаунтов не имеют права самостоятельно предоставлять компьютер для удаленного управления. Такое право им может дать администратор. Препятствием использования протокола RDP может стать его блокировка антивирусами. В таком случае RDP нужно разрешить в настройках антивирусных программ.

Стоит отметить особенность некоторых серверных ОС: если один и тот же пользователь попытается зайти на сервер локально и удаленно, то локальный сеанс закроется и на том же месте откроется удаленный. И наоборот, при локальном входе закроется удаленный сеанс. Если же зайти локально под одним пользователем, а удаленно — под другим, то система завершит локальный сеанс.

Подключение по протоколу RDP осуществляется между компьютерами, находящимися в одной локальной сети, или по интернету, но для этого потребуются дополнительные действия – проброс порта 3389 на роутере, либо соединение с удаленным компьютером по VPN.

Чтобы подключиться к удаленному рабочему столу в Windows 10, можно разрешить удаленное подключение в «Параметры — Система — Удаленный рабочий стол» и указать пользователей, которым нужно предоставить доступ, либо создать отдельного пользователя для подключения. По умолчанию доступ имеют текущий пользователь и администратор. На удаленной системе запустите утилиту для подключения.

Нажмите Win+R, введите MSTSC и нажмите Enter. В окне введите IP-адрес или имя компьютера, выберите «Подключить», введите имя пользователя и пароль. Появится экран удаленного компьютера.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

При подключении к удаленному рабочему столу через командную строку (MSTSC) можно задать дополнительные параметры RDP:

ПараметрЗначение
/v:Удаленный компьютер, к которому выполняется подключение.
/adminПодключение к сеансу для администрирования сервера.
/editРедактирование RDP-файла.
/fЗапуск удаленного рабочего стола на полном экране.
/w:Ширина окна удаленного рабочего стола.
/h:Высота окна удаленного рабочего стола.
/publicЗапуск удаленного рабочего стола в общем режиме.
/spanСопоставление ширины и высоты удаленного рабочего стола с локальным виртуальным рабочим столом и развертывание на несколько мониторов.
/multimonНастраивает размещение мониторов сеанса RDP в соответствии с текущей конфигурацией на стороне клиента.
/migrateМиграция файлов подключения прежних версий в новые RDP-файлы.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Для Mac OS компания Microsoft выпустила официальный RDP-клиент, который стабильно работает при подключении к любым версиям ОС Windows. В Mac OS X для подключения к компьютеру Windows нужно скачать из App Store приложение Microsoft Remote Desktop. В нем кнопкой «Плюс» можно добавить удаленный компьютер: введите его IP-адрес, имя пользователя и пароль. Двойной щелчок на имени удаленного рабочего стола в списке для подключения откроет рабочий стол Windows.

На смартфонах и планшетах под Android и iOS нужно установить приложение Microsoft Remote Desktop («Удаленный рабочий стол Майкрософт») и запустить его. Выберите «Добавить» введите параметры подключения — IP-адрес компьютера, логин и пароль для входа в Windows. Еще один способ — проброс на роутере порта 3389 на IP-адрес компьютера и подключение к публичному адресу роутера с указанием данного порта. Это делается с помощью опции Port Forwarding роутера. Выберите Add и введите:

А что насчет Linux? RDP –закрытый протокол Microsoft, она не выпускает RDP-клиентов для ОС Linux, но можно воспользоваться клиентом Remmina. Для пользователей Ubuntu есть специальные репозитории с Remmina и RDP.

Протокол RDP также используется для подключения к виртуальным машинам Hyper-V. В отличие от окна подключения гипервизора, при подключении по RDP виртуальная машина видит различные устройства, подсоединенных к физическому компьютеру, поддерживает работу со звуком, дает более качественное изображение рабочего стола гостевой ОС и т.д.

У провайдеров виртуального хостинга серверы VPS под Windows по умолчанию обычно также доступны для подключения по стандартному протоколу RDP. При использовании стандартной операционной системы Windows для подключения к серверу достаточно выбрать: «Пуск — Программы — Стандартные — Подключение к удаленному рабочему столу» или нажать Win+R и в открывшемся окне набрать MSTSC. В окне вводится IP-адрес VPS-сервера.

Нажав кнопку «Подключить», вы увидите окно с полями авторизации.

Чтобы серверу были доступны подключенные к вашему ПК USB-устройства и сетевые принтеры, при первом подключении к серверу выберите «Показать параметры» в левом нижнем углу. В окне откройте вкладку «Локальные ресурсы» и выберите требуемые параметры.

С помощью опции сохранения данных авторизации на удаленном компьютере параметры подключения (IP-адрес, имя пользователя и пароль) можно сохранить в отдельном RDP-файлом и использовать его на другом компьютере.

Настройка другой функциональности удаленного доступа

В окне подключения к удаленному компьютеру есть вкладки с настраиваемыми параметрами.

ВкладкаНазначение
«Экран»Задает разрешение экрана удаленного компьютера, то есть окна утилиты после подключения. Можно установить низкое разрешение и пожертвовать глубиной цвета.
«Локальные ресурсы»Для экономии системных ресурсов можно отключить воспроизведение звука на удаленном компьютере. В разделе локальных устройств и можно выбрать принтер и другие устройства основного компьютера, которые будут доступны на удаленном ПК, например, USB-устройства, карты памяти, внешние диски.

Подробности настройки удаленного рабочего стола в Windows 10 – в этом видео. А теперь вернемся к безопасности RDP.

Как «угнать» сеанс RDP?

Можно ли перехватывать сеансы RDS? И как от этого защищаться? Про возможность угона RDP-сессии в Microsoft Windows известно с 2011 года, а год назад исследователь Александр Корзников в своем блоге детально описал методики угона. Оказывается, существует возможность подключиться к любой запущенной сессии в Windows (с любыми правами), будучи залогиненным под какой-либо другой.

Некоторые приемы позволяют перехватить сеанс без логина-пароля. Нужен лишь доступ к командной строке NT AUTHORITY/SYSTEM. Если вы запустите tscon.exe в качестве пользователя SYSTEM, то сможете подключиться к любой сессии без пароля. RDP не запрашивает пароль, он просто подключает вас к рабочему столу пользователя. Вы можете, например, сделать дамп памяти сервера и получить пароли пользователей. Простым запуском tscon.exe с номером сеанса можно получить рабочий стол указанного пользователя — без внешних инструментов. Таким образом, с помощью одной команды имеем взломанный сеанс RDP. Можно также использовать утилиту psexec.exe, если она была предварительно установлена:

Или же можно создать службу, которая будет подключать атакуемую учетную запись, и запустить ее, после чего ваша сессия будет заменена целевой. Вот некоторые замечания о том, как далеко это позволяет зайти:

Наконец, рассмотрим, как удалить подключение к удаленному рабочему столу. Это полезная мера нужна, если необходимость в удаленном доступе пропала, или требуется запретить подключение посторонних к удаленному рабочему столу. Откройте «Панель управления – Система и безопасность – Система». В левой колонке кликните «Настройка удаленного доступа». В разделе «Удаленный рабочий стол» выберите «Не разрешать подключения к этому компьютеру». Теперь никто не сможет подключиться к вам через удаленный рабочий стол.

В завершение – еще несколько лайфхаков, которые могут пригодиться при работе с удаленным рабочим столом Windows 10, да и просто при удаленном доступе.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Источник

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

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Знакомая картинка? А вы ведь постоянно сталкиваетесь с этой архитектурой — когда покупаете билет в кино онлайн, бронируете путевку на море или записываетесь к врачу.

На клиент-серверной архитектуре построены все сайты и интернет-сервисы. Также ее используют десктоп-программы, которые передают данные по интернету. Поэтому ИТ-специалисту нужно понимать, что это такое и как работает.

Об этом я и расскажу в статье. Объясню на пальцах, с примерами и забавными картинками =) Если вы больше любите видео-формат, можно посмотреть мой ролик на youtube на ту же тему.

Содержание

Что это и как работает

Вот есть у нас некий Вася, который решил купить машину. Такую, как в рекламе — быструю, мощную, красивую! Только стоит она как хвост самолета, у Васи таких денег нет.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Конечно, Вася может подкопить несколько лет, а потом уже покупать машину. Но ведь хочется здесь и сейчас! Да и средство передвижения нужно…

А еще Вася не умеет копить — получил зарплату, закупился основным, оплатил жилье, всё! Остальное можно потратить. Для таких людей есть банки, куда можно прийти и взять деньги в кредит.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

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

Вася подумал, прикинул и сказал:

— Да, хочу именно так! 100 рублей с зарплаты платить в банк могу, а откладывать — нет. Потрачу.

Поэтому Вася идет в банк и говорит:

— Я Василий Иванов, хочу автокредит на 1000р.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

У Кати есть специальная программа для проверки данных по клиентам. Эта программа может быть как web, так и desktop:

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Катя вбивает в программу «Василий Иванов» и получает информацию по клиенту — есть ли он в черных списках? Была ли кредитная история раньше? И так далее. Но что происходит в потрохах приложения?

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Катя ввела данные на клиенте. Но когда она нажала «проверить», клиент отправил запрос на сервер:

— Дай мне информацию по Васе Иванову!

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Сервер отправил запрос в БД, базу данных:

— Select * from clients where fio = ‘Василий Иванов’. (Дай мне всю информацию по ФИО ‘Василий Иванов’)

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

— Вот тебе все, что нашла.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Сервер вернул эту информацию клиенту:

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

А клиент уже отрисовал ее для Кати:

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

— Ага, кредитная история хорошая.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

И делает предложение Васе:

— Пожалуйста, если хотите взять кредит, то мы готовы выделить 1000р на 12 лет под 80% годовых. Устроит?

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

— Да, меня всё устраивает, давайте скорее деньги, и я побежал за машиной!
Все счастливы, все довольны.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Катя даже не догадывается, какой путь проделали данные в программе, когда она вбила туда ФИО своего клиента. Но мы с вами должны узнать, что же это за путь такой? И к чему все эти сложности? Почему именно такая структура? Почему есть клиент, почему есть сервер?

Зачем нужен клиент

Тут все просто — с клиентом работает пользователь. Он нужен, чтобы превратить байтики программного кода в красивую и понятную картинку. Пользователь — не программист, он не понимает язык программирования или sql. Он понимает формочки и кнопочки. Их в клиенте и рисуем.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Зачем нужен сервер

Клиентов может быть много. В примере с банком у нас может быть по 10 отделений в 10 городах России, а в каждом отделении по 10 операционисток. Тысяча Катек, и у каждой отдельный компьютер.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

А мы ведь хотим, чтобы приложение работало быстро. Чтобы оно не тупило и не зависало, нервируя операциониста и заставляя клиента ждать. Значит, машина нужна мощная. Но если делать мощным каждый компьютер операциониста, денег придется вложить очень много!

Поэтому мы выносим всю основную логику на сервер. И вот его уже делаем мощным! А клиентские машины могут быть дешевыми, потому что на них остается лишь логика в стиле «запросить информацию и красиво отрисовать».

Нет дублирования кода

Если бы у нас были только клиентские машины, на каждой из них хранился бы одинаковый код по обработке логики, лежала вся база данных, все справочники террористов и прочая. Но так как сервер и БД вынесены в отдельные звенья, с клиентской машины освобождается куча места… И кода.

Не надо дублировать код, ведь вся основная логика вынесена на более мощный сервер.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

На сервере и в базе хранится информация, недоступная простому операционисту. Это:

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

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Зачем нужна база

При чем же тут БД? Вот у нас есть наш сервер, пусть он и хранит всю информацию. Бывает и так, иногда база просто не нужна и у нас остается двузвенная архитектура клиент-сервер.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

В таком случае все данных сервер хранит в памяти. Вот только если сервер упадет, или просто перезагрузится — вся информация будет потеряна. Все, что было в памяти, стирается при выключении системы.

БД (база данных) — отдельный программный продукт, который позволяет:

Да, базы может не быть. Но когда она есть, мы уверены в сохранности данных и легко можем по ним поискать.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Плюсы архитектуры

Резюмируем плюсы архитектуры:

Минусы архитектуры

Упало одно звено — все отдыхают

Если упал сервер или отвалилась база, то есть испортилось 1 звено — всё, все в ступоре, все отдыхают. Сотни, тысячи, да хоть миллионы клиентов если есть — никто не может работать. Все операционистки грустно смотрят на окно «Простите, что-то пошло не так» и разводят руками перед клиентом.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Именно поэтому в бизнес-критичном ПО архитектуру усложняют и даже дублируют. Банк с тысячами операционистов не может позволить себе простой. Поэтому они используют кластер серверов — один упал, остальные работают.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Как в таком случае клиент понимает, куда ему отправлять запрос?

Перед серверами ставят балансировщик, и клиент шлет запрос туда. Сколько бы серверов не поставили в кластер, клиенту это не интересно. У него есть один URL — адрес балансировщика.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

И вот с клиента поступает запрос:

— Дай мне всю информацию по Васе Иванову.

— Ребята, новый запрос! Кто меньше загружен?

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

— У меня 5 запросов в очереди стоит.

Балансировщик отправляет запрос второму серверу.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Такая схема используется для высоконагруженного приложения — когда запросов поступает так много, что один сервер с ними просто не справляется.

Facebook, amazon, google — туда заходят миллионы пользователей. Один сервер с ними не справится. Поэтому ставят кластер, а балансировщик делит между ними нагрузку. И в таком случае в кластере может быть не 2 сервера, а 10, 15, сколько нужно, столько и ставим.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

При этом мы можем точно также балансировать базу данных. У нас может быть несколько копий баз данных на самых разных машинах, и балансировщик отправляет запросы то к одной, то ко второй.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Такая схема называется горячий резерв — когда у нас есть несколько серверов, работающих в параллель, и балансировщик распределяет нагрузку между ними.

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

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Но если с первым сервером что-то случится и он помрет, балансировщик перенаправит нагрузку на второй сервер:

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

В это время у администраторов будет время разобраться с проблемой на сервере 1.

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

Простой может быть не только потому, что случилось что-то плохое. Есть еще штатное обновление приложения. Обе схемы резервирования позволяют обновляться безболезненно. Если в кластере два сервера, обновление будет выглядеть так:

Таким образом, схемы резервирования помогают нам устранить проблему «упало 1 звено — все отдыхают». Клиент никогда не узнает, что один или несколько серверов в кластере сдохли, у него всё как работало, так и работает.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Высокая стоимость оборудования

Сервера стоят дорого. Туда нельзя поставить обычный SSD как для домашнего компьютера. Почему? Потому что к железу для серверов совсем другие требования по надежности + есть поддержка специфичных функций:

— у HDD это специальная микропрограмма контроллера, которая оптимизирована для работы диска в RAID, дома это не нужно.

— у SSD это наличие группы конденсаторов, которые хранят энергию на случай отключения питания, чтобы хватило времени скинуть из DDR кэша данные в энергонезависимую память и данные не побились.

SSD — быстро работающий диск, HDD — обычный. RAID — когда мы N дисков вместе соединили, а DDR кэш — это оперативная память

Плюс у серверных решений гарантия обычно гораздо дольше: 5 лет, а не год.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

По цене отличаются в 2 раза. Например, SSD:

Вроде не сильно отличается, да? Но смысл в том, что для дома 1 тб хватает за глаза — и фоточки все влезут, и кино, и куча приложений… А для базы данных иногда и 10 тб будет мало. А если делать кластер, то умножаем стоимость на 2, если не больше. Поэтому и разница в цене кажется огромная, но при пересчете на гигабайт небольшая выходит.

Не забывайте, что дома вам просто надо свои фоточки держать, да и те обычно в облаке. А на сервере бизнес-критичный функционал, который жрет дофига ресурсов и который надо дублировать на случай «вдруг первый сдохнет».

Нужно нанять сисадмина

Нам нужно нанять сисадмина, который будет следить за всеми нашеми серверами приложения и БД. Добавляем его зарплату к стоимости оборудования!

Что тестировать

Чтобы понимать, что тестировать, надо понимать, с чем имеет дело человек.

Пользователь работает с клиентом. Это может быть web или desktop приложение, не суть. Операционистке Кате дали рабочее место, показали какую программу запускать и как с ней работать. Она знать не знает о наличии серверов и БД, она работает только с клиентом.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Поэтому тестировщик в первую очередь проверяет клиент! Потому что сервер может работать идеально, вы можете даже написать тесты на уровне API и они все будут зелененькие, и кажется, что все зашибись! А пользователь загрузит отчет и увидит ошибку. Ой.

Сервер работает, на клиенте ошибка. И плевать на сотни «зеленых» автотестов. У пользователя все равно ошибка. И наша задача — посмотреть с его точки зрения.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Однако, если у вас есть доступ к серверу приложения и его базе данных — стоит проверять и их тоже! Так мы можем увидеть «будущий баг». Например:

— Ну, наверное, их и не заполняли.

А их заполняли! Просто сохранение криво сработало. Поэтому, если у нас только черный ящик, то нужно проверять, «а реально ли сохранились данные?». Сохранили? Откройте карточку в новом окне или вызовете информацию через API-метод.

Если доступ к базе есть — просто проверьте по ней, что все хорошо. Если есть доступ к серверным логам — проверьте их на наличие ошибок.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Помимо простых пользователей бывают злые люди, которые пытаются встрять в наше приложение и своровать деньги / данные. Они используют не клиент или сервер — туда у них доступа нет. Они пытаются перехватить данные в пути от клиента к серверу, или от сервера к БД.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Ну а раз нехорошие люди могут это сделать, то тестировщик тоже должен это уметь! Потому что тестировщик предоставляет информацию о нашем продукте.

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Тестировщик изучает уязвимости и потом рассказывает команде:

— Ребята, вот я проверил, у нас есть такие-то и такие-то потенциальные дыры. Давайте подумаем, надо нам их как-то закрывать или нет.

То есть не факт, что исправлять проблему будут. Может, у вас некритичное приложение — данные не утекут, деньги вы не храните. Тогда и заморачиваться лишний раз никто не будет, потому что тестировать на защищенность — дорого, специалистов мало.

Но какие-то базовые проверки типа sql-иньекций или XSS-атак стоит изучить и проверить на своем приложении. Хотя бы чтобы понять их критичность. Ведь если атака сломает клиент — ну и пусть, сам себе буратино. А если атака положит сервер, это уже не очень хорошо. И надо хотя бы знать, от чего это бывает.

Итого

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

Клиент — та программа, с которой работает пользователь. Он знать не знает, это у него на компьютере программа целиком, или где-то за ней прячутся сервер с базой, а то и целый RAID. Он работает в браузере или с desktop-приложением. И всё, что ему нужно знать — это «куда тут тыкать».

Клиенту не нужно много памяти, места на диске и других ресурсов. Поэтому рабочие места относительно дешево стоят. А это именно то, что нам нужно, особенно если нужно закупить оборудование для тысяч операционисток банка.

Сервер — компьютер, на котором хранится само приложение. Весь код, вся логика, все дополнительные материалы и справочники. Например, справочник адресов ФИАС или справочник юр лиц ЕГРЮЛ — они тоже занимают место, как сами по себе, так и в памяти приложения.

Иногда говорят «сервер приложения» и «сервер БД». Это нормально, ведь фактически сервер — это просто машина, компьютер. А базу и сервер приложения обычно хранят на разных машинах, ради безопасности. В таком случае, если говорят «сервер приложения» — речь о втором звене нашей схемы.

Приложения бывают самые разные. Есть ресурсоемкие, им нужно много памяти и места на диске. Есть «легкие», которые можно развернуть даже на домашнем компьютере.

БД (база данных) — хранилище данных. Тут вы можете легко поискать информацию + уверены в том, что она сохранится, даже если в приложении что-то сломается. Подробнее о ней — в статье «Что такое База Данных (БД)»

Сколько места нужно под базу, зависит от количества данных. Есть огромные базы в банках, где и 1тб будет мало. А есть совсем небольшие, которые вы можете установить на своей машине. Например, XAMPP можно поставить. И врядли вы напихаете туда столько данных, что у вас не останется под них место.

Отдельной базы может не быть, тогда структура станет двузвенной: клиент-сервер. И все!

Схема условная, в реальной жизни у нас как минимум будет больше клиентов. А если приложение высоконагруженное, то будет несколько серверов и несколько баз данных:

что такое локальный клиент. Смотреть фото что такое локальный клиент. Смотреть картинку что такое локальный клиент. Картинка про что такое локальный клиент. Фото что такое локальный клиент

PS — больше полезных статей ищите в моем блоге по метке «полезное». А полезные видео — на моем youtube-канале

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *