Добавлен: 19.06.2023
Просмотров: 65
Скачиваний: 4
Рис 4.Многоуровневая архитектура взаимодействия клиент-сервер
Типичный пример трехуровневой модели клиент-сервер. Если говорить в контексте систем управления базами данных, то первый уровень – это клиент, который позволяет нам писать различные SQL запросы к базе данных. Второй уровень – это движок СУБД, который интерпретирует запросы и реализует взаимодействие между клиентом и файловой системой, а третий уровень – это хранилище данных.
Если мы посмотрим на данную архитектуру с позиции сайта. То первый уровень можно считать браузером, с помощью которого посетитель заходит на сайт, второй уровень – это связка Apache + PHP, а третий уровень – это база данных. Если уж говорить совсем просто, то PHP больше ничего и не делает, кроме как, гоняет строки и базы данных на экран и обратно в базу данных. [2]
Преимущества и недостатки архитектуры клиент-сервер
Преимуществом модели взаимодействия клиент-сервер является то, что программный код клиентского приложения и серверного разделен. Если мы говорим про локальные компьютерные сети, то к преимуществам архитектуры клиент-сервер можно отнести пониженные требования к машинам клиентов, так как большая часть вычислительных операций будет производиться на сервере, а также архитектура клиент-сервер довольно гибкая и позволяет администратору сделать локальную сеть более защищенной.
К недостаткам модели взаимодействия клиент-сервер можно отнести то, что стоимость серверного оборудования значительно выше клиентского. Сервер должен обслуживать специально обученный и подготовленный человек. Если в локальной сети ложится сервер, то и клиенты не смогут работать (в качестве частного случая можно привести пример: мощности сервера не всегда хватает, чтобы удовлетворит запросы клиентов, если вы хоть раз работали с биллинговыми системами, то понимаете о чем я: время ожидания ответа от сервера может быть очень большим).
В качестве заключения нам стоит явно акцентировать внимание на том, что архитектура клиент-сервер не делит машины на только клиент или только сервер, а скорее позволяет распределить нагрузку и разделить функционал между клиентской частью и серверной.
2.3 Клиент серверные расчеты
Здесь речь идет, конечно, не о физических серверах, а о частях программного комплекса. Так, для экономии на оборудовании, оба сервера, при небольшой нагрузке (до 20 пользователей) обычно размещают на одном физическом сервере. Именно такой вариант мы и будем рассматривать в нашем примере.
Рис. 5 Клиент серверные расчеты
И так, что нужно предусмотреть в аппаратном обеспечении для быстрой работы в клиент-серверном варианте 1С? Во-первых, можно взять конфигурацию сервера из прошлой части статьи, в которой мы описывали файл-серверный вариант подключения 1С, и немного его доработать. Хотя, по большому счету для начала работы его мощностей должно хватить. Однако, при пиковых нагрузках, стоит обратить внимание на следующие узкие места:
Дисковая подсистема.
Хотя RAID-10 обеспечивает приличные характеристики в соотношении цена/качество, иногда требуется более высокие показатели. Прироста производительности в данном случае можно добиться либо добавлением одного-двух дисков и построения массива 5-го уровня, либо, вообще отказаться от контроллера и обратить внимание в сторону SSD. Стоимость 200 гигабайтного диска, подходящего для использования в клиент-серверной 1С, на текущий момент составляет порядка 400$, однако позволяет более экономно подойти к вопросу электропитания и охлаждения. Правда, из-за весьма небольшого ресурса в 20000 циклов стирания/записи необходимо серьезно отнестись к вопросу резервного копирования данных. [4]
Оперативная память. Здесь все просто – чем ее больше, тем лучше. Начать можно с 16 Гб – по 8 Гб на сервер 1С и СУБД, и далее наращивать в зависимости от скорости работы и потребностей ПО.
Таким образом можно рассмотреть 2 варианта сервера под серверную часть 1С: один мы рассмотрели ранее, второй представлен в таблице:
Наименование |
Цена за 1 ед., $ |
Кол-во |
Цена, $ |
Серверная платформа ASUS TS110-E8-PI4, содержащая серверную материнскую плату |
575 |
1 |
575 |
Процессор INTEL Xeon Processor E3-1220 v3 специально предназначенный для серверов |
254 |
1 |
254 |
Память Kingston DDR-III DIMM 8Gb ECC с контролем четности |
75 |
2 |
150 |
Жесткие диски 1 Tb SATA Seagate Constellation ES.3 3.5" 7200rpm 128Mb способные работать в режиме 24/7 |
102 |
1 |
102 |
SSD Intel DC S3700 200 Гб |
400 |
1 |
400 |
Кулер, шлейфы, сборка |
100 |
1 |
100 |
Итоговая сумма в 1581$ за сервер для размещения серверной части 1С оказалась даже ниже файл-серверного варианта. Однако стоит обратить на общий объем “быстрых” данных в 200Гб против 2Гб в предыдущем примере, хотя сборка имеет свои плюсы и большую скорость обмена данными, так необходимую СУБД.
2.4 Клиент-серверный режим работы 1С
Клиент-серверный вариант работы (Client-Server Operation Variant)
Один из альтернативных вариантов работы платформы 1С: Предприятие 8, является клиент – серверный. «Клиент – сервер» выполнен на основе архитектуры 3ех уровней.
Архитектура клиент- сервера делит работающую систему на три части, которые обусловленным образом взаимодействуют между собой
клиентское приложение
кластер - серверов 1С: Предприятия
сервер баз данных.
Клиентское приложение любого пользователя, работая с кластером серверов 1С: Предприятия 8 при необходимости обращается к базе данных на сервере.
При этом совершенно не обязательно чтобы сервер базы данных и кластер серверов 1С: Предприятия 8 находился на одном компьютере, это может быть и другой компьютер.
Рис. 6. База данных 1 С.
Такие возможности помогут пропорционально разделить нагрузку между серверами.
Применение кластера серверов 1С: Предприятия 8 , это возможность сконцентрировать на нем осуществление объемных операций по обработке баз данных. Это могут быть выполнение объемных сложных запросов, и в этом случае программа пользователя получит только необходимую информацию в виде тематической выборки, а вся обработка будет происходить непосредственно на сервере. Такая возможность дает значительно облегчить работу, ведь увеличить мощность кластера намного легче, чем обновление программных систем целого ряда компьютеров. [5]
Еще одно достоинство трехуровневой архитектуры, это возможность свободно администрировать и контролировать доступ всех пользователей к информации базы данных.
И совершенно не обязательно пользователю вникать в расположение баз данных или конфигурации, весь доступ происходит через кластер серверов платформы 1С: Предприятия 8. При вводе запроса достаточно указать название информационной базы и имя необходимого кластера, сообщив при этом пароль.
В данном случае платформа 1С: Предприятие 8 для результативной выборки информации сама оперирует всеми базами данных:
Специальные механизмы запросов направлены на самую максимальную эксплуатацию СУБД для выполнения необходимых видов работ связанных с расчетами и оформлением отчетов
Возможность избежать огромного числа запросов к базе данных при большом объеме запрашиваемой информации. Действия упрощаются за счет существующих настроек отбора и сортировки данных, увеличивая при этом эффективность поиска
Формирование клиент-серверной версии, и ее администрирование не требует специальных навыков. Создание баз данных выполняется вовремя запуска конфигуратора , то же самое и для файлового варианта. [10]
Клиентские приложения
Работа с клиентским приложением возможна через веб-сервер или напрямую с кластером. При подключении к кластеру толстый клиент и тонкий клиент непосредственно используют для передачи данных протокол TCP/IP. Если подключение осуществляется через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.
Кластер серверов 8.2
Основным компонентом системы 1С:Предприятия 8, с помощью которого взаимодействуют пользователи с системой баз данных при работе с клиент сервером, является кластер серверов.
Существование кластера делает возможной бесперебойную, отказоустойчивую, работу значительного числа пользователей с большими информационными базами.
Сервер баз данных
В качестве сервера баз данных используются:
База Microsoft SQL Server
База PostgreSQL
База IBM DB2
База Oracle Database
Администрирование клиент-серверного варианта работы 8.2
В комплект платформы входит специальная утилита, которая позволяет администрировать клиент-сервер и управлять администратору всеми подключенными пользователями и информационными базами. [7]
Выполнение на сервере
Вся работа с необходимыми объектами, чтение баз данных и запись осуществляется непосредственно на сервере. Все функции командного интерфейса и определенных форм выполняются тоже на сервере.
Подготовка всевозможных форм, запись произведенных изменений и их расположение все эти функции , это задача сервера. Клиент отображает уже готовые формы, которые могут заполняться пользователем, вызов сервера осуществляется через поле ввод.
Командный интерфейс формируется аналогично на сервере, и все отчеты выводятся на клиенте.
При этом сам механизм платформы направлен на то чтобы объем данных запрошенных данных был минимальным, за счет сортировки данных на сервере. Обработанные данные же поступают с сервера после просмотра их пользователем(данные списков, таблицы, отчеты)
На сервере выполняются следующее:
Запросы к базам данных
Запись всех данных
Проводка документов
Разные расчеты
Проведение обработок
Формирование готовых отчетов
Подготовка форм к показу.
На клиенте выполняется следующее:
Передача и открытие форм
Показ форм
Получение пользователем сообщений, предупреждений, т.е. информирование
Проведение быстрых расчетов по простым формулам (цена Х количество)
Операции с локальными файлами
Операции с торговым оборудованием.
Использование встроенного языка версии 8.2 на клиенте
Управлять всеми функциями форм возможно как на сервере, так и на клиенте. [11]
Клиент поддерживает работу встроенного языка программирования.
Если есть необходимость произвести быстрые расчеты по отображенной формуле, посчитать сумму или количество строк в документе просмотреть файл или отправить, то встроенный язык программирования, как раз на этот случай. Тем не менее, работа встроенного языка программирования рассчитана на ограниченные объемы, это связано с тем, что функции клиента отличаются от функций сервера, и объектный состав модуля ограничен.
На самом клиенте отсутствует возможность работы с базой данных, с прикладными объектами, запрещается употребление запросов. Прежде чем начать работу с базой в клиентском коде необходимо запросить сервер, а он в свою очередь к базе данных.
ЗАКЛЮЧЕНИЕ
Клиент-сервер — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Физически клиент и сервер — это программное обеспечение.
Обычно они взаимодействуют через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных машинах, но могут выполняться также и на одной машине.
Клиент-серверная архитектура состоит в простейшем случае из трех основных компонентов:
- сервер баз данных, управляющий хранением данных, доступом и защитой, резервным копированием, отслеживающий целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющий запросы клиента;
- клиент, предоставляющий интерфейс пользователя, выполняющий логику приложения, проверяющий допустимость данных, посылающий запросы к серверу и получающий ответы от него;
- сеть и коммуникационное программное обеспечение, осуществляющее взаимодействие между клиентом и сервером посредством сетевых протоколов.
Таким образом, любая компьютерная сеть по сути является сетью клиент-сервер. Пользователь, подключивший свой компьютер к Интернет, будет иметь дело с сетью клиент-сервер, и даже если компьютер не имеет выхода в сеть, его программное обеспечение, да и сам он, скорее всего, организованы по схеме клиент-сервер.