Вопрос масштабирования и отказоустойчивости систем на базе 1С:Предприятие 8.3 рано или поздно приводит администратора к необходимости распределения нагрузки. Часто возникает задача вынести определенные функции, такие как СервисПолнотекстовогоПоиска или СервисЛицензирования, на отдельный физический или виртуальный сервер в рамках одного кластера. Однако вокруг лицензионной политики «1С» существует множество мифов, особенно в части различий между уровнями ПРОФ и КОРП. Разберем детально, что можно настроить на стандартных лицензиях, а за что придется доплатить.
Начнем с главного вывода: техническая возможность и юридическое право на разнесение сервисов по серверам кластера на лицензиях ПРОФ существуют. Многие ошибочно полагают, что любая манипуляция с Требованиями назначения функциональности (ТНФ) требует КОРП-версии. Это не так. Согласно официальной документации и разъяснениям технических специалистов, обычная серверная лицензия позволяет использовать ТНФ для управления сервисами, если при этом не задаются уточняющие параметры.
Рассмотрим подробнее, что это означает. В консоли администрирования кластера при создании нового требования назначения функциональности мы выбираем Тип объекта требования. Для лицензии ПРОФ допустимо использование типа Сервис. Это позволяет нам жестко закрепить, например, выполнение всех фоновых заданий за конкретным рабочим сервером.
Давайте проанализируем ситуацию на примере. Допустим, у нас есть основной сервер приложений (Server-1) и дополнительный сервер (Server-2). Мы хотим, чтобы Server-1 обрабатывал только сеансы пользователей, а Server-2 взял на себя всю нагрузку по фоновым заданиям и полнотекстовому поиску. На лицензии ПРОФ мы можем создать следующие правила:
Тип объекта требования = Сервис; Имя объекта требования = Сервис фоновых заданий; Тип требования = Назначать.Тип объекта требования = Сервис; Имя объекта требования = Сервис фоновых заданий; Тип требования = Не назначать.Такая конфигурация будет абсолютно легитимна и работоспособна на уровне ПРОФ. Однако, как только нам потребуется детализация (например, чтобы на Server-2 выполнялись фоновые задания только для базы «Бухгалтерия», а для базы «ЗУП» — на Server-1), система потребует лицензию КОРП.
Разберем по шагам те параметры, которые «заблокированы» или юридически недопустимы для использования в версии ПРОФ при настройке Требований назначения функциональности. Если в правилах указываются дополнительные условия фильтрации, вы переходите в зону ответственности КОРП:
Web-клиент или только для Тонкого клиента.Посмотрим на пример конфигурации ТНФ, которая требует КОРП:
Объект требования: Сервис фоновых заданий
Информационная база: БухгалтерияПредприятия
Тип требования: Назначать
Рабочий сервер: Server-Dedicated-01
В данном случае условие по конкретной ИБ (БухгалтерияПредприятия) является триггером для использования расширенной лицензии.
Важно помнить, что помимо функциональных возможностей ТНФ, существуют жесткие количественные ограничения, введенные в платформе начиная с версии 8.3.14. Даже если вы не планируете распределять сервисы, вам придется перейти на КОРП при достижении следующих показателей:
rphost.Если ваша инфраструктура переросла эти лимиты, вопрос о распределении сервисов на ПРОФ становится вторичным — платформа просто ограничит производительность или заблокирует работу при отсутствии соответствующих ключей.
Выясним причину, по которой крупные предприятия выбирают КОРП для распределения сервисов, даже если им достаточно базового разделения. Это гибкое управление нагрузкой. В ПРОФ-версии вы практически не контролируете «здоровье» рабочих процессов в автоматическом режиме. В КОРП доступны следующие критически важные параметры рабочего сервера:
Безопасный расход памяти за один вызов. Этот параметр позволяет пресечь выполнение неоптимального кода, который пытается «выжрать» всю доступную оперативную память сервера одним запросом. В ПРОФ этот параметр игнорируется.
Максимальный объем памяти рабочих процессов. Инструмент для борьбы с утечками памяти. Вы можете задать лимит, при превышении которого rphost будет плавно перезапущен платформой без прерывания работы пользователей. В ПРОФ-версии администраторам часто приходится перезапускать службу 1C:Enterprise 8.3 Server Agent вручную или скриптами по расписанию.
Стратегия балансировки. В КОРП можно выбрать, как распределять новые соединения: по памяти (на сервер, где больше свободной ОЗУ) или по производительности. В ПРОФ используется упрощенный алгоритм.
Рассмотрим ситуацию, когда распределение сервисов продиктовано требованиями безопасности. Допустим, мы выносим Сервис лицензирования на отдельный сервер, который находится в защищенном сегменте сети. В КОРП-версии мы можем применить к этому серверу (или конкретной базе) Профили безопасности.
Профили позволяют запретить программному коду 1С:
На лицензиях ПРОФ такая тонкая настройка невозможна. Если вы заботитесь об информационной безопасности при распределении компонентов системы, КОРП станет необходимым инструментом.
Проанализируем, как ведет себя современная платформа 8.3.12+ при попытке обмануть систему. Ранее существовали возможности («юнипатчи» и прочее), позволявшие обходить проверку типа лицензии. На текущий момент механизм защиты icp (Internal Compatibility Provider) жестко контролирует параметры кластера.
Если вы укажете в консоли настройки, специфичные для КОРП (например, Количество ИБ на процесс больше 0), но у вас установлены обычные ключи ПРОФ, возможны два варианта развития событий:
Подведем итог нашему анализу. Если ваша задача — просто разнести сервисы кластера (лицензирование, фоновые задания, полнотекстовый поиск) по разным серверам для оптимизации ресурсов, и вы готовы к тому, что это будет работать «скопом» для всех баз сразу — лицензии ПРОФ вам достаточно.
Если же вы строите сложную высоконагруженную систему, где требуется:
В этом случае приобретение лицензий КОРП является единственным легитимным и технически оправданным решением. Помните, что грамотная настройка Требований назначения функциональности даже на уровне ПРОФ может значительно повысить отзывчивость системы, если правильно распределить роли между имеющимися серверами.