Долгое время механизм распределения лицензий в 1С:Предприятие оставался для многих администраторов «черным ящиком». Мы сталкивались с ситуациями, когда лицензии внезапно заканчивались, зависали в рабочих процессах или их распределение между серверами кластера было неоптимальным. С выходом новых версий платформы (начиная с веток 8.3.25 и 8.3.26) ситуация кардинально меняется. Рассмотрим подробнее, какие архитектурные новшества подготовила компания 1С и как они упростят жизнь техническим специалистам.
Проанализируем текущую схему работы: сейчас за выдачу лицензий отвечают рабочие процессы сервера (rphost). Если процесс аварийно завершается или перегружен, работа с лицензиями может стать нестабильной. В новой концепции 1С выделяет этот функционал в отдельное приложение — Сервис лицензирования.
Разберем по шагам, что это дает:
Одной из самых ожидаемых функций стала возможность детального мониторинга. Выясним, какую именно информацию теперь сможет получить администратор через стандартные инструменты платформы. Проанализируем ситуацию: теперь мы видим не просто «занято 50 лицензий», а детальный лог использования.
В интерфейсе мониторинга доступны следующие данные:
ТонкийКлиент, ТолстыйКлиент или ВебКлиент.Посмотрим на возможности долгосрочного планирования. Раньше для анализа потребления лицензий приходилось использовать сторонние скрипты или вручную парсить логи. Новый сервис умеет накапливать историю. Для хранения этих данных сервису может потребоваться собственная база данных (например, под управлением PostgreSQL).
Это позволяет решать важные бизнес-задачи:
Для крупных компаний критически важно иметь все метрики в едином центре мониторинга. Разберем, как реализовано взаимодействие с внешним миром. Платформа предоставляет HTTP API, через который можно программно запрашивать состояние лицензий.
Это открывает путь к интеграции с такими системами, как:
Пример структуры запроса к API может выглядеть следующим образом (в концептуальном виде):
// Примерный алгоритм получения данных через HTTP соединение
Соединение = Новый HTTPСоединение("server-licensing", 8080);
Запрос = Новый HTTPЗапрос("/api/v1/licenses/current");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
ДанныеJSON = Ответ.ПолучитьТелоКакСтроку();
// Далее следует парсинг JSON и вывод в отчет или систему мониторинга
КонецЕсли;
Вспомним стандартную проблему: пользователь не может войти, и система выдает лаконичное «Лицензия не найдена». Выясним причину изменений в диагностике. Теперь сервис возвращает конкретизированные коды ошибок.
Вместо гадания на кофейной гуще администратор увидит четкое описание:
СервисаЛицензирования по указанному порту.Рассмотрим, что нужно сделать администратору уже сейчас, чтобы подготовиться к переходу на новый механизм. Разберем по шагам:
8.3.25 и выше. Переход на 8.5, о котором спорят на форумах, пока не является обязательным — основные возможности уже «бэкпортированы» в текущую стабильную версию.Подведем итог: новый механизм превращает систему лицензирования из проблемного места в прозрачный и управляемый сервис. Это не просто «косметический ремонт», а глубокая переработка архитектуры, которая позволит избежать множества ошибок, связанных с распределением программных и аппаратных ключей в сложных распределенных системах.