Клиент-серверный режим 1С
Клиент-серверный режим 1С — это архитектура развертывания программных продуктов платформы «1С:Предприятие», при которой прикладное решение (конфигурация) выполняется на нескольких взаимодействующих компьютерах: один или несколько серверов обрабатывают данные и бизнес-логику, а клиентские рабочие места (клиенты) обеспечивают интерфейс для пользователей. Данный режим противопоставляется файловому режиму, где все компоненты системы (программа, база данных, временные файлы) находятся на одном компьютере или в общей папке, доступной по сети.
Архитектура и компоненты
Клиент-серверная архитектура «1С:Предприятие» состоит из трёх основных уровней, что соответствует модели «клиент — сервер приложений — сервер баз данных»:
- Клиентское приложение (тонкий или толстый клиент). Отвечает за отображение интерфейса, ввод данных и отправку запросов. Не выполняет сложных вычислений, связанных с бизнес-логикой, а лишь визуализирует результаты.
- Кластер серверов «1С:Предприятия» (сервер приложений). Основной вычислительный узел. На нём исполняется программный код модулей (алгоритмы, отчёты, проведение документов), управляется сеансами пользователей, блокировками данных и распределяется нагрузка. Кластер может состоять из одного или нескольких физических или виртуальных серверов (рабочих процессов).
- Сервер баз данных (СУБД). Хранит и обрабатывает данные конфигурации (справочники, документы, регистры). В качестве СУБД могут использоваться Microsoft SQL Server, PostgreSQL (в том числе сборки от «1С»), IBM Db2, Oracle Database.
Взаимодействие между уровнями осуществляется через сетевые протоколы: клиент общается с кластером по протоколу TCP/IP (порт 1540 по умолчанию), а кластер — с СУБД через нативный драйвер или ODBC.
История и развитие
До версии платформы 7.7 «1С:Предприятие» работала преимущественно в файловом режиме. С ростом объёмов данных и числа пользователей (более 5–10 человек) файловый режим стал демонстрировать проблемы с производительностью и надёжностью: блокировки на уровне файла, риск повреждения базы при сбое сети, отсутствие централизованного администрирования.
В конце 1990-х — начале 2000-х годов «1С» начала внедрение клиент-серверной архитектуры. Первой версией, официально поддерживающей такой режим, стала платформа 8.0 (выпущена в 2003 году). Она предлагала архитектуру на основе COM-соединений и собственную СУБД. Позднее, с версией 8.1 (2006 год), была введена трёхуровневая схема с выделенным сервером приложений и поддержкой промышленных СУБД (SQL Server, Oracle). Версия 8.2 (2009 год) принесла тонкий клиент и веб-клиент, что позволило работать через браузер. В версии 8.3 (2013 год) была добавлена поддержка PostgreSQL, а также улучшены механизмы масштабирования и отказоустойчивости.
Классификация клиентов
В зависимости от способа подключения и функциональности различают несколько типов клиентских приложений:
- Толстый клиент (Fat Client). Устанавливается на компьютер пользователя, содержит исполняемые файлы платформы и может работать как в файловом, так и в клиент-серверном режиме. Требует установки и обновления на каждом рабочем месте.
- Тонкий клиент (Thin Client). Устанавливается локально, но не содержит средств администрирования и разработки (конфигуратора). Предназначен только для работы с интерфейсом и отправки запросов. Занимает меньше места и проще в обновлении.
- Веб-клиент. Работает в окне веб-браузера (Internet Explorer, Mozilla Firefox, Google Chrome, Яндекс.Браузер). Не требует установки на компьютер — достаточно адреса сервера. Функциональность ограничена по сравнению с толстым клиентом (например, недоступен режим «1С:Предприятие» в полном объёме для разработки). Поддерживается начиная с версии 8.2.
Преимущества и недостатки
Преимущества
- Масштабируемость. Возможность обслуживать десятки и сотни одновременно работающих пользователей без критического падения производительности за счёт распределения нагрузки между рабочими процессами кластера.
- Централизованное администрирование. Обновление конфигурации, управление правами доступа, резервное копирование и мониторинг выполняются на сервере, а не на каждом клиенте.
- Надёжность. Данные хранятся в промышленной СУБД, что снижает риск повреждения базы. Кластер может быть настроен на отказоустойчивость (например, использование нескольких серверов приложений и репликация базы данных).
- Безопасность. Доступ к данным контролируется на уровне сервера; клиенты не имеют прямого доступа к файлам базы.
- Поддержка тонкого и веб-клиента. Снижаются требования к аппаратному обеспечению рабочих мест и упрощается развёртывание.
Недостатки
- Сложность развёртывания. Требуется квалифицированный администратор для настройки серверов, СУБД, сетевого оборудования и лицензирования.
- Стоимость. Необходимы лицензии на сервер «1С:Предприятия» (дополнительно к клиентским), а также на СУБД (например, Microsoft SQL Server). Использование PostgreSQL снижает затраты, но требует настройки.
- Зависимость от сети. При обрыве связи или высокой задержке работа пользователя становится невозможной или крайне медленной.
- Ресурсоёмкость серверов. Кластер и СУБД требуют выделенных мощностей (процессор, оперативная память, дисковая подсистема), особенно при большом числе пользователей.
Сравнение с файловым режимом
| Характеристика | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Максимальное число пользователей | 5–10 (рекомендуется) | 100+ (теоретически не ограничено) |
| Хранение данных | Файл базы (1CD) на файловом сервере или локально | СУБД (SQL Server, PostgreSQL и др.) |
| Блокировки | На уровне файла (блокируется вся база) | На уровне записей (блокируются только изменяемые строки) |
| Администрирование | Децентрализованное (на каждом ПК) | Централизованное (на сервере) |
| Требования к сети | Высокие (постоянный доступ к файлу) | Умеренные (только обмен запросами) |
| Стоимость лицензирования | Только клиентские лицензии | Клиентские + серверные + СУБД |
| Восстановление после сбоя | Сложное (риск повреждения файла) | Относительно простое (бэкапы СУБД) |
Применение
Клиент-серверный режим является стандартом для средних и крупных предприятий, где одновременно работают более 10–15 пользователей. Он используется в типовых конфигурациях «1С:ERP Управление предприятием», «1С:Бухгалтерия», «1С:Зарплата и управление персоналом», «1С:Управление торговлей» и отраслевых решениях. Также он обязателен при использовании механизмов, требующих серверной обработки, таких как:
- фоновые задания (регламентные операции, обмен данными);
- распределённые информационные базы (РИБ);
- работа через веб-клиент;
- интеграция с внешними системами через HTTP-сервисы.
Интересные факты
- В кластере «1С:Предприятия» используется собственная технология балансировки нагрузки между рабочими процессами (rphost). При сбое одного процесса его сеансы автоматически перераспределяются на другие процессы кластера.
- «1С» предоставляет сертифицированную сборку PostgreSQL (Postgres Pro Enterprise, Postgres Standard), оптимизированную для работы с платформой, что позволяет снизить затраты на СУБД.
- В версии 8.3 появилась возможность работы в режиме «Управляемые формы» на тонком клиенте, что значительно уменьшило объём передаваемых данных по сети.
Источники
- Документация платформы «1С:Предприятие 8.3» (Руководство администратора, Архитектура клиент-серверного варианта).
- Официальный сайт фирмы «1С» — раздел «Технологии» (описание клиент-серверного режима).
- Статья «Сравнение файлового и клиент-серверного режимов работы 1С» (ИТС-журнал, 2020).
- Книга «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Г. Радченко, Е. Ю. Хрусталёва, 2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →