Отказоустойчивость сервиса фоновых заданий
Реализована отказоустойчивость сервиса фоновых заданий. Теперь в кластере с уровнем отказоустойчивости, большем 0, при аварийном завершении работы менеджера кластера, на котором работает сервис заданий, информация реплицируется на другие менеджеры кластера, на которых присутствуют экземпляры сервиса фоновых заданий.
Раньше в такой аварийной ситуации работа пользователей с фоновыми и регламентными заданиями могла быть прервана. Например, клиентское приложение могло «зависнуть», если в этот момент оно ожидало завершения каких-либо фоновых заданий. Другое проявление проблемы (аварийной ситуации) заключалось в том, что в течение одной минуты выполнение регламентных заданий было невозможно до тех пор, пока информация о них не будет заново считана из информационных баз.
Теперь сбои в работе одного из менеджеров не отразятся на работе фоновых и регламентных заданий, если такой произойдет. В результате пользователи не должны заметить сбоя в работе кластера.
Администрирование из встроенного языка
Ранее платформа 1С:Предприятие содержала несколько различных инструментов, с помощью которых можно было администрировать кластер серверов.
Во-первых, это интерактивная Windows-утилита администрирования, реализованная в виде консоли управления Microsoft (Microsoft Management Console).
Во-вторых, это программный интерфейс кластера, доступный во встроенном языке через технологию COM (Component Object Model). Технология COM используется в операционных системах Microsoft Windows.
В-третьих, для обеспечения кроссплатформенности были реализованы сервер администрирования кластера (ras) и утилита командной строки (rac) для взаимодействия с этим сервером. Это кроссплатформенные инструменты, которые могут работать в операционных системах Microsoft Windows и Linux. Однако они не имеют графического интерфейса.
В-четвертых, для создания приложений, администрирующих кластер, был реализован программный Java-интерфейс, который представляет собой набор Java-пакетов. Он позволяет взаимодействовать с сервером администрирования (ras) из программы на языке Java, без помощи консольной утилиты администрирования (rac).
Такой набор инструментов позволял администрировать кластер серверов на всех используемых операционных системах, как из командной строки, так и с помощью графического интерфейса. Однако для большинства разработчиков 1С:Предприятия создание собственного java-приложения для администрирования сервера являлось довольно сложной задачей.
Кроме этого перечисленные инструменты имели чисто технические недостатки, затруднявшие их использование. Например, Windows-утилита администрирования не позволяет работать с кластерами разных версий, каждый раз необходимо было перерегистрировать библиотеку в операционной системе. Интерфейсы, использующие COM и Java, не имеют перечислений, поэтому, например, вместо понятных значений «Незащищенное», «ЗащищенноеПриУстановкеСоединения» и «Защищенное» приходилось обрабатывать цифровые значения 0, 1 и 2, по справке определяя, какому уровню безопасности соединения они соответствуют.
Поэтому, чтобы унифицировать администрирование кластера и облегчить управление серверами 1С:Предприятия в unix системах, 1С реализовала во встроенном языке программный интерфейс, взаимодействующий с сервером администрирования кластера (ras).
Теперь прямо из клиентского приложения 1С:Предприятия вы можете передавать управляющие команды кластеру серверов 1С:Предприятия через сервер администрирования (ras), а также получать обратно информацию о структуре и состоянии кластера. Из одного клиентского приложения вы можете одновременно администрировать кластеры разных версий.
Основу нового программного интерфейса составляет объект АдминистрированиеСервера, который позволяет вам установить соединение с агентом центрального сервера, выполнить аутентификацию, а также получить доступ к кластерам и администраторам центрального сервера. В каждом кластере вы имеете доступ к информационным базам, рабочим серверам, администраторам, менеджерам кластера, рабочим процессам, сеансам, блокировкам, соединениям, профилям безопасности, счетчикам потребления ресурсов и ограничениям потребления ресурсов. Все они описываются соответствующими объектами с приставкой «Администрирование», например, АдминистрированиеИнформационнаяБаза, АдминистрированиеРабочийСервер и так далее.
Далее приведен небольшой пример, завершающий все сеансы работы пользователей, например, для выполнения административных действий.
Этот пример, помимо прочего, демонстрирует еще одно преимущество нового программного интерфейса. За счет перехода к объектной модели новый интерфейс имеет более простые и короткие команды:
- Раньше: TerminateSession(<Кластер>, <Сеанс>, <Сообщение>);
- Теперь: Cеанс.ЗавершитьСеанс(Сообщение).
Подробнее о планируемой реализации механизма управления потреблением ресурсов 1С рассказывала некоторое время тому назад: Механизм управления потреблением ресурсов.