Использование сервера приложений в режиме балансировки нагрузки Назад В начало Вперед

Сервер приложений системы может функционировать в трех режимах:

1) обычный сервер приложений;

2) менеджер (балансировщик) нагрузки;

3) сервер приложений и менеджер нагрузки.

В первом режиме сервер приложений выполняет только стандартную функцию выполнения операций по запросам подсоединенных к нему клиентов.

Во втором режиме сервер приложений не выполняет операции по запросам подсоединенных к нему клиентов, а выполняет только функцию распределения подключаемых клиентов по экземплярам сервера приложений с учетом заданных настроек.

Третий режим является комбинацией первых двух.

Выбор режима работы сервера приложения, а также ввод значений остальных параметров настройки режима балансировки нагрузки, выполняется при конфигурировании сервера приложения с помощью Менеджера серверов и служб Галактики galconf.exe (см. п. Настройка сервера приложений Галактики ERP).

Распределение клиентов возможно как на дополнительные экземпляры сервера приложений на том же компьютере, где размещен основной сервер приложений (в этом случае автоматически запускаются дополнительные процессы galsrv.exe), так и на других компьютерах с установленными серверами приложений системы. Список компьютеров и основные параметры работы сервера приложений на них задаются с помощью специального файла (MachineManageListFile).

Серверы приложений на дополнительных компьютерах должны быть сконфигурированы и их службы стартованы. Имя и расположение файла со списком дополнительных компьютеров серверов приложений задается при конфигурировании основного сервера приложений.

Файл со списком дополнительных компьютеров серверов приложений имеет следующую структуру:

[Server]

Names= <ServerName1>;<ServerName2>;...;<ServerNameN>;

где параметр Names определяет список имен компьютеров, на которых установлены дополнительные сервера приложений.

[<ServerName1>]

MaxClientCount=

где параметр MaxClientCount определяет максимальное количество клиентов, которые могут подключаться к основному серверу приложений компьютера с именем <ServerName1>. По умолчанию параметр имеет значение -1 (неограниченное количество клиентов).

[WsDrv_<ServerName1>]

Секция задает параметры работы основного сервера приложений компьютера с именем <ServerName1> по протоколу Win Socket:

Protocol=

Port=

Addr=

Значение параметра Port задается в десятичной системе. В поле Addr может быть задан IP-адрес компьютера, если параметр отсутствует, то используется имя компьютера <ServerName1>.

[RpcDrv_<ServerName1>]

Секция задает параметры работы основного сервера приложений компьютера с именем <ServerName1> по протоколу RPC:

Protocol=

Port=

[HttpDrv_<ServerName1>]

Секция задает параметры работы основного сервера приложений компьютера с именем <ServerName1> по протоколу HTTP:

Url=

[<ServerName2>]

...

Пример файла MachineManageListFile

[server]
names=test-bd;test_srv;
[test-bd]
maxclientcount=40
[wsdrv_test-bd]
protocol=TCP/IP
port=10256
;[rpcdrv_test-bd]
;port=1010
;protocol=ncacn_ip_tcp
[httpdrv_test-bd]
url=http://test-bd/iapp/app.asx
[test_srv]
maxclientcount=-1
[wsdrv_test_srv]
protocol=TCP/IP
port=10256
;addr=
;[rpcdrv_test_srv]
;port=1010
;protocol=ncacn_ip_tcp
[httpdrv_test_srv]
url=http://test_srv/iapp/app.asx

Сбор статистической информации с дополнительных серверов приложений и дочерних процессов выполняется основным сервером приложений по протоколу, заданному первым в списке поля Сетевые протоколы: (см. п. Настройка основных параметров). Если соединение клиентских частей системы с сервером приложений выполняется по протоколу httpdrv.dll, то при настройке этого сервера приложений необходимо дополнительно задать загрузку более быстрого протокола wsdrv.dll, который должен быть в списке первым. Данный протокол будет использоваться системой для обмена информацией между серверами приложений. Сбор статистики по протоколу rpcdrv.dll в данной версии не поддерживается (этого протокола не должно быть в списке поля Сетевые протоколы: при работе в режиме балансировщика нагрузки).

При подключении трехуровневого клиента к серверу приложений, работающему во втором или третьем режиме (см. выше) выбор экземпляра сервера приложений для рабочего подключения клиента выполняется в следующем порядке:

Оценка производится по количеству процессоров, объему свободной физической памяти, объему свободной виртуальной памяти.

Если на данном компьютере такого экземпляра не находится, то выполняется запуск нового процесса galsrv.exe, с которым и соединяется клиент. Следует иметь в виду, что при соединении клиентов с сервером приложений по протоколу Win socket для дочернего процесса открывается порт с номером, увеличенным на единицу по сравнению с портом основного сервера или последнего дочернего процесса (инкрементация номера порта). При работе по http протоколу инкрементируется имя asx-файла.

Таким образом, для организации работы трехуровневой архитектуры системы в режиме автоматической балансировки нагрузки серверов приложений необходимо выполнить следующие действия:

Следует иметь в виду, что после завершения всех клиентских соединений с дополнительными процессами galsrv.exe, автоматически запущенными в процессе работы, эти процессы могут быть автоматически закрыты по истечении заданного времени. Этот период времени определяется в поле Период автоматического завершения сервера (при отсутствии клиентов) (мсек) окна =Конфигурация нагрузки сервера приложений= (см. Рис. 17).