Кластер серверов 1С:Предприятия 8 - основной компонент платформы, обеспечивающий взаимодействие между пользователями и системой управления базами данных в клиент-серверном варианте работы. Наличие кластера позволяет обеспечить бесперебойную, отказоустойчивую, конкурентную работу большого количества пользователей с крупными информационными базами. Кластер серверов 1С:Предприятия 8 является логическим понятием и представляет собой совокупность рабочих процессов, обслуживающих один и тот же набор информационных баз. Основные возможности кластера серверов - может функционировать на одном или нескольких компьютерах (рабочих серверах);
- на каждом рабочем сервере может функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера;
- подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов;
- взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP;
- процессы кластера сервера могут быть запущены как приложение, или как сервис.
Общая схема клиент-серверного варианта работы В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных. Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера. Для клиентского соединения кластер адресуется по имени центрального сервера и номеру сетевого порта. Если используется стандартный сетевой порт, то достаточно указания одного имени центрального сервера. При установке соединения клиентское приложение обращается к центральному серверу кластера. Центральный сервер, на основе анализа статистики загруженности рабочих процессов, направляет клиентское приложение к конкретному рабочему процессу, который будет его обслуживать. Этот процесс может находиться как на центральном сервере, так и на любом рабочем сервере кластера. Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой. Состав простейшего кластера серверов Простейший кластер серверов может располагаться на одном компьютере и содержать один рабочий процесс: На рисунке представлены все элементы, которые задействованы в работе кластера серверов, а именно: - процессы кластера серверов:
- ragent.exe;
- rmngr.exe;
- rphost.exe;
- хранилища данных:
- список кластеров;
- реестр кластера.
Функционирование компьютера в составе кластера обеспечивается процессом ragent.exe, который называется агентом сервера. Соответственно компьютер, на котором запущен агент сервера, называется рабочим сервером. Одной из функций агента сервера является ведение списка кластеров, расположенных на данном рабочем сервере. Агент сервера и список кластеров не входят в состав кластера серверов, а лишь обеспечивают работу сервера и кластеров, которые расположены на нем. Непосредственно кластер серверов включает в себя следующие элементы: - один или несколько процессов rmngr.exe;
- реестр кластера;
- один или несколько процессов rphost.exe.
Процесс rmngr.exe называется менеджером кластера. Этот процесс управляет функционированием всего кластера. В составе кластера может существовать несколько процессов менеджера кластера. Один из этих процессов всегда является главным менеджером кластера, остальные - дополнительными менеджерами. Рабочий сервер, на котором функционирует главный менеджер кластера и располагается реестр кластера, называется центральным сервером кластера. Одной из функций главного менеджера кластера является ведение реестра кластера. Процесс rphost.exe называется рабочим процессом. Рабочий процесс обслуживает непосредственно клиентские приложения, взаимодействует с сервером баз данных и в нем, в частности, могут исполняться процедуры серверных модулей конфигурации. Масштабируемость Масштабируемость кластера серверов может осуществляться несколькими способами: - за счет увеличения количества менеджеров кластера и распределения между ними сервисов;
- за счет увеличения количества рабочих процессов, функционирующих на конкретном рабочем сервере;
- за счет увеличения количества рабочих серверов, входящих в состав кластера.
Использование нескольких менеджеров Все функции, выполняемые менеджером кластера, разделены на несколько сервисов. Эти сервисы могут быть назначены различным менеджерам кластера, что позволяет распределить всю нагрузку между несколькими процессами. Часть сервисов может использоваться только на главном менеджере кластера: - сервис конфигурации кластера,
- сервис блокировок кластера,
- сервис управления предметами отладки.
Остальные сервисы могут быть назначены произвольным менеджерам кластера: - сервис журналов регистрации,
- сервис полнотекстового поиска,
- сервис заданий,
- сервис нумерации,
- сервис пользовательских настроек,
- сервис времени,
- сервис блокировки объектов,
- сервис сеансовых данных,
- сервис транзакционных блокировок.
Использование нескольких рабочих процессов Использование нескольких рабочих процессов, с одной стороны, позволяет снизить нагрузку на каждый конкретный рабочий процесс. С другой стороны, запуск нескольких рабочих процессов позволяет более эффективно использовать аппаратные ресурсы рабочего сервера. Кроме этого запуск нескольких рабочих процессов позволяет повысить надежность сервера, изолировав группы клиентов, работающих с разными информационными базами. В кластере, в котором возможен запуск нескольких рабочих процессов, рабочий процесс может быть автоматически перезапущен по истечении времени, установленного администратором кластера. Использование нескольких рабочих серверов Увеличение количества рабочих серверов, входящих в кластер, позволяет использовать большее количество рабочих процессов (обслуживать большее количество клиентских соединений), не увеличивая при этом нагрузку на каждый конкретный рабочий процесс. Отказоустойчивость
Отказоустойчивость работы кластера обеспечивается в трех направлениях: - резервированием самого кластера,
- резервированием рабочих процессов,
- устойчивостью к обрыву канала связи.
Сеансы
Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя. Существуют следующие виды сеансов: - Толстый клиент, Тонкий клиент, Веб-клиент - создаются при обращении, соответственно, толстого, тонкого и веб-клиента к информационной базе,
- Конфигуратор - создается при обращении конфигуратора к информационной базе,
- COM-соединение - создается при обращении к информационной базе через внешнее соединение,
- WS-соединение - создается при обращении веб-сервера к информационной базе в результате обращения к Web-сервису, опубликованному на веб-сервере,
- Фоновое задание - создается при обращении рабочего процесса кластера к информационной базе. Предназначен для выполнения кода процедуры фонового задания,
- Консоль кластера - создается при обращении утилиты администрирования клиент-серверного варианта к рабочему процессу,
- COM-администратор - создается при обращении к рабочему процессу через внешнее соединение.
Работа под управлением различных операционных систем Все процессы кластера серверов способны функционировать как под управлением операционной системы Windows, так и под управлением операционной системы Linux. Благодаря тому, что взаимодействие процессов между собой осуществляется по протоколуTCP/IP, в составе одного кластера могут присутствовать рабочие серверы с различными операционными системами. Администрирование кластера серверов В поставку системы входит набор инструментов, позволяющий изменять состав кластера, управлять информационными базами, подключением пользователей, а также выполнять оперативный анализ транзакционных блокировок.
|