Когда управляемый сервер начинает загрузку, он посылает сообщение с запросом обнаружения, что позволяет другим процессам обнаружить его существование и сформировать каналы связи с этим процессом.
На рис. 2.9 показан пример распределенного обнаружения процесса для топологии, включающей два узла, расположенных на разных машинах. Обратите внимание, что оба агента узлов на рисунке используют порты 7272 и 5000. Это предполагает, что они находятся на разных физических машинах. Если узлы находятся на одной машине, они должны быть сконфигурированы так, чтобы IP-порты не конфликтовали.
Рис. 2.9. Распределенный процесс обнаружения
Каждый агент узла и администратор развертывания сохраняет информацию о состоянии и конфигурации, используя адреса обнаружения или порты. При запуске процессы обнаруживают другие запущенные компоненты и создают коммуникационные каналы с помощью адресов обнаружения.
• Главное хранилище, расположенное там, где находится администратор развертывания, содержит для каждого узла файл serverindex.xml. Администратор развертывания читает этот файл при запуске и определяет имя хоста и IP-порт для каждого значения NODE_DISCOVERY_ADDRESS агента узла.
По умолчанию для NODE_DISCOVERY_ADDRESS используется порт 7272. Вы можете убедиться в этом, просмотрев раздел NODE_AGENT файла serverindex.xml любого узла. Этот файл можно найти следующим образом:
<дир_профиля_DM>/config/cells/<ячейка>/nodes/<узел>/serverindex.xml
Вы также можете вывести данный порт на экран административной консоли, выбрав пункт System Administration (Администрирование системы) → Node agents (Агенты узлов). Выберите узел и раскройте пункт Ports (Порты) в разделе Additional Properties (Дополнительные свойства).
• Копия хранилища конфигурации, расположенная на каждом узле, содержит файл serverindex.xml для администратора развертывания. Агент узла читает этот файл при запуске и определяет имя хоста и IP-порт для параметра CELL_DISCOVERY_ ADDRESS администратора развертывания.
По умолчанию для CELL_DISCOVERY_ADDRESS используется порт 7277. Вы можете убедиться в этом, просмотрев раздел DEPLOYMENT_MANAGER файла serverindex. xml узла с администратором развертывания. Этот файл можно найти так:
<дир_профиля>/config/cells/<ячейка>/nodes/<узел_DM>/serverindex.xml
Вы также можете вывести данный порт на экран административной консоли, выбрав пункт System Administration (Администрирование системы) → Deployment Manager (Администратор развертывания). Раскройте пункт Ports (Порты) в разделе Additional Properties (Дополнительные свойства).
• Копия хранилища конфигурации, расположенная на каждом узле, также содержит файл serverindex.xml для узла. Каждый управляемый сервер читает этот файл при запуске и определяет имя хоста и IP-порт для параметра NODE_MULTICAST_DISCOVERY_ADDRESS агента узла.
Широковещательный (multicast) адрес применяется для того, чтобы предотвратить использование большого числа IP-портов для запросов обнаружения, идущих от управляемого сервера к агенту узла. При помощи группового адреса агент узла может на одном IP-порту «слушать» любое количество локальных серверов.
Важно. Помните о следующих моментах:
• Служба обнаружения использует для получения IP-адреса, соответствующего имени хоста локальной машины, вызов функции InetAddress.getLocalHost(). Сетевая конфигурация каждой машины должна быть настроена таким образом, чтобы функция getLocalHost() не возвращала адрес обратной связи (127.0.0.1). Она должна возвращать реальный IP-адрес правильно указанной сетевой карты.
• Широковещательный адрес представляет собой логический адрес. Следовательно, он не связан с реальным, физическим сетевым интерфейсом, и не будет повторять имя (или IP-адрес) хоста, на котором выполняется агент узла.
• Широковещательные адреса хостов должны соответствовать определенному диапазону (от 224.0.0.0 до 239.255.255.255), который определяется стандартами IP, и никогда не должны представлять собой имя хоста. Адрес по умолчанию для агентов узлов WebSphere — 232.133.104.73.
По умолчанию для NODE_MULTICAST_DISCOVERY_ADDRESS используется порт 5000. Вы можете убедиться в этом, просмотрев раздел NODE_AGENT файла serverindex.xml узла. Этот файл можно найти так:
<дир_профиля>/config/cells/<ячейка>/nodes/<узел>/serverindex.xml
Вы также можете вывести данный порт на экран административной консоли, выбрав пункт System Administration (Администрирование системы) → Node Agents (Агенты узлов). Выберите узел и раскройте пункт Ports (Порты) в разделе Additional Properties (Дополнительные свойства).
Каждый сервер имеет свою собственную копию конфигурационных данных и данных приложений, необходимых для запуска среды исполнения и установленных приложений.