Что такое клиентская сеть

Клиент-серверная архитектура: что это такое и для чего ее используют?

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

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

сервер — это еще один мощный «компьютер», который намного мощнее «клиента» и хранит различную информацию.

Но есть еще третье «действующее лицо» — это пути, по которым общаются клиент и сервер, в роли таких путей выступает всемогущий интернет или частная локальная сеть.

Клиент-серверная архитектура — что это?

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

Что такое технология клиент-сервер на практике

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

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

какие читались новости;

какие скачивались книги;

на каких блогах и какие статьи «клиент» читает чаще всего;

какие фильмы или видео были просмотрены;

список всех посещенных сайтов;

в каких соцсетях «клиент» зависает чаще всего;

на каком контенте в соцсетях «клиент» заостряет внимание: лайки, репосты, комментарии, оценки, группы и т. д.;

с какими друзьями, когда и где общался «клиент»;

какие интернет-магазины посещал и какие заказы делал;

Особенности клиент-серверного взаимодействия

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

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

с сервером может работать любое устройство, вне зависимости от его операционной системы;

все команды от клиента обрабатываются сервером, что снижает нагрузку на саму сеть;

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

Заключение

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Клиентская сеть или дистрибьюторская?

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

А может быть сама политика компаний, работающих по принципу построения клиентских сетей, побуждает их говорить такие нелепые слова. Для начала давайте поясним что такое клиентские и дистрибьюторские сети. Есть, компании, которые продвигают продукцию не посредством дистрибьюторов, а вместо этого предлагает всем клиентам зарегистрироваться самим, и обслуживаться самим, т.е. ездить на склад за продукцией, стоять со всеми вместе в очереди и получать продукцию. Это подразумевает собой, самообслуживание. Это как столовые, где есть самообслуживание.

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

Кому что нравится. Какому-то клиенту может понравиться обслуживание через дистрибьютора, а кому-то нравится самому ездить на склад и стоять в очереди. Каждая из компаний имеет право на существование. Как говорится о вкусах не спорят. Но все же наша рассылка «Сетевой маркетинг: Добро или зло?» призвана обсуждать, анализировать перспективность сотрудничества с сетевыми компаниями и разоблачает скрытые замаскированные пирамиды, то мы соответственно все же обсудим объективные преимущества и недостатки обоих систем построения сетевого бизнеса.

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

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

Но тут сосед по дому, либо коллега располагает большим свободным временем и имеет желание, интерес продвигать продукцию другой компании, которая является дистрибьюторской сетью. Что сделает наш клиент, получив пару предложений от дистрибьютора посмотреть каталог продукции его компании? Подумав о том, что надо бы съездить за продукцией, решает взглянуть на каталог.

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

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

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

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

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

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

Так откуда выплачивает компания такие большие проценты и аренду офисов? Это все делается за счет повышения цен на продукцию.

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

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

Об этом замечательно пишет Екатерина Бокитько в своей статье «Почему сетевики ненавидят продавать»

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

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

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

Это было мое мнение и мой взгляд на выбор компаний. А вы как думаете?

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

Сетевые компании,

которые работают на постсоветском пространстве:

Неотел (NeoTel) Биг Эпл (Big Apple) Русский Стиль Плюс Доктор Нона (Dr. Nona), Санрайдер (Sunrider), Вивасан (Vivasan), Хуашен (Huashen), Мирра Люкс (Mirra), Инмаркет (Inmarket), Сильверджип (SilverJeep), 4Life Research, Биопарк (DNA Club)

Гербалайф(Herbalife), Мерикей(Mary Kay) Никкен(Nikken), Тупервея(Tupperware), Аквасорс(Aquasource), Сиель Парфюм (Ciel Parfum), Natura Cosmeticos Nu Skin Enterprises Сибирский кедр Vorwerk Максимум Fleur de Sante

Источник

Архитектура «Клиент-Сервер»

Определение

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

В архитектуре «Клиент-Сервер» несколько компьютеров-клиентов (удалённые системы) посылают запросы и получают услуги от централизованной служебной машины – сервера (server – англ. «официант, обслуга»), которая также может называться хост-системой (host system, от host – англ. «хозяин», обычно гостиницы).

Клиентская машина предоставляет пользователю т.н. «дружественный интерфейс» (user-friendly interface), чтобы облегчить его взаимодействие с сервером.

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

Рис. 1. Архитектура «Клиент-Сервер».

Типы клиент-серверной архитектуры

Архитектуру «клиент-сервер» принято разделять на три класса: одно-, двух- и трёхуровневую. Однако, нельзя сказать, что в вопросе о таком разделении в сообществе ИТ-специалистов существует полный консенсус. Многие называют одноуровневую архитектуру двухуровневой и наоборот, то же можно сказать о соотношении двух- и трёхуровневой архитектур.

Постараемся внести ясность в этот вопрос.

Одноуровневая архитектура (1-Tier)

Одноуровневая архитектура «клиент-сервер» (1-Tier) – такая, где все прикладные программы рассредоточены по рабочим станциям, которые обращаются к общему серверу баз данных или к общему файловому серверу. Никаких прикладных программ сервер при этом не исполняет, только предоставляет данные.

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

Рис. 2. Одноуровневая архитектура «клиент-сервер» (1-Tier).

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

Двухуровневая архитектура (2-Tier)

К двухуровневой архитектуре «клиент-сервер» следует относить такую, в которой прикладные программы сосредоточены на сервере приложений (Application Server), например, сервере 1С или сервере CRM, а в рабочих станциях находятся программы-клиенты, которые предоставляют для пользователей интерфейс для работы с приложениями на общем сервере.

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

Рис. 3. Двухуровневая архитектура «клиент-сервер» (2-Tier).

Такая архитектура представляется наиболее логичной для архитектуры «клиент-сервер». В ней, однако, можно выделить два варианта. Когда общие данные хранятся на сервере, а логика их обработки и бизнес-данные хранятся на клиентской машине, то такая архитектура носит название “fat client thin server” (толстый клиент, тонкий сервер). Когда не только данные, но и логика их обработки и бизнес-данные хранятся на сервере, то это называется “thin client fat server” (тонкий клиент, толстый сервер). Такая архитектура послужила прообразом облачных вычислений (Cloud Computing).

Преимущества двухуровневой архитектуры:

Однако, у двухуровневой архитектуры есть и ограничения:

Трёхуровневая архитектура (3-Tier)

В трёхуровневой архитектуре сервер баз данных, файловый сервер и другие представляют собой отдельный уровень, результаты работы которого использует сервер приложений. Логика данных и бизнес-логика находятся в сервере приложений. Все обращения клиентов к базе данных происходят через промежуточное программное обеспечение (middleware), которое находится на сервере приложений. Вследствие этого, повышается гибкость работы и производительность.

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

Рис. 4. Трёхуровневая архитектура «клиент-сервер» (3-Tier).

Преимущества трёхуровневой архитектуры:

Многоуровневая архитектура (N-Tier)

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

По сути, предыдущий вариант, трёхуровневая архитектура – не более, чем частный случай многоуровневой архитектуры.

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

Рис. 5. Многоуровневая архитектура «клиент-сервер» (N-Tier).

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

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

Характеристики архитектуры «клиент-сервер»

Практические применения архитектуры «клиент-сервер»

Хорошим примером работы системы «клиент-сервер» является автомобильный навигатор. Приложение навигации на сервере собирает данные с многих смартфонов пользователей, на которых установлены клиенты приложения. Кроме того, приложение навигации использует ещё и данные с сервера базы данных – геоинформационной системы, который предоставляет данные, например, о текущих ремонтах дорог, о появлении новых дорог и пр. Данные со многих клиентов (местоположение, скорость) обрабатывается сервером навигации и выдаётся на смартфоны пользователей в виде информации о средней скорости движения по тому или иному участку маршрута.

Практически любая корпоративная сеть или ИТ-система предприятия, как правило, строится по архитектуре «клиент-сервер». В небольших сетях (3-5 компьютеров в компании) функции сервера может выполнять один из рабочих компьютеров. Если число машин в организации более 10, то лучше сделать выделенный сервер (почтовый сервер, приложений, баз данных и пр.), который будет заниматься обслуживанием клиентов – компьютеров и телефонов сотрудников организации.

В домашних сетях архитектура «клиент-сервер» тоже используется довольно часто. Например, в домашнюю сеть могут быть объединены компьютеры членов семьи, один из которых выполняет функции сервера. В домашнюю сеть также могут быть включены такие устройства, как умные колонки, умные домашние устройства (пылесосы-роботы, фотоаппараты, DVD-плееры и пр.), а также «умные» счётчики (вода, электричество) и т.д. Тогда в системе управления сервера, будут видны все параметры, данные и медифайлы (музыка, видео, фото), а также «умные устройства».

Преимущества и недостатки архитектуры «клиент-сервер»

К преимуществам архитектуры «клиент-сервер» можно отнести:

К недостаткам архитектуры «клиент-сервер» следует отнести:

Заключение

В настоящее время можно встретить термин Serverless Architecture, т.н. «бессерверная архитектура». Однако, по сути, она представляет собой процесс получения функций сервера в виде облачной услуги. То есть, серверы в облаке тоже есть, но для конечного пользователя они не видны, и он получает их сервисы в виде абстрактной «функции как услуги» FaaS (Function as a Service).

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

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

Источник

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

Что такое клиентская сеть. Смотреть фото Что такое клиентская сеть. Смотреть картинку Что такое клиентская сеть. Картинка про Что такое клиентская сеть. Фото Что такое клиентская сеть

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

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

Об этом я и расскажу в статье. Объясню на пальцах, с примерами и забавными картинками =) Если вы больше любите видео-формат, можно посмотреть мой ролик на 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 не будет опубликован. Обязательные поля помечены *