Подключаемый модуль прокси-сервера Apache обрабатывает идентификатор JVM в файле cookie JSESSION

Я пытаюсь понять сопоставление между JVMID, присутствующим в файле cookie JSESSION, и ipaddr: порт управляемого сервера. Несколько вопросов ниже -

  1. Кто генерирует JVMID и как плагин apache узнает JVMID данного узла. Получает ли он его обратно в ответе от сервера (может быть, как часть списка динамических серверов?).

  2. Если мы отправим запрос на апач с файлом cookie JSESSION, содержащим JVMID, и этот апач еще не обработал ни одного запроса, каково будет поведение?

  3. Предполагая, что apache поддерживает локальное сопоставление между JVMID и адресами узлов, как это обновляется? (особенно в случае перезапуска apache или перезапуска управляемого сервера)


person sigma420    schedule 12.02.2014    source источник


Ответы (1)


1) Идентификатор JVM генерируется каждым сервером Weblogic и добавляется к JSESSIONID.

Apache регистрирует HASH отдельного сервера и сопоставляет его с соответствующим управляемым сервером и может отправить его на тот же управляемый сервер weblogic, что и предыдущий запрос.

Вот пример журнала из http://www.bea-weblogic.com/weblogic-server-support-pattern-common-diagnostic-process-for-proxy-plug-in-problems.html

Mon May 10 13:14:40 2004 getpreferredServersFromCookie: -2032354160!-457294087
Mon May 10 13:14:40 2004 GET Primary JVMID1: -2032354160
Mon May 10 13:14:40 2004 GET Secondary JVMID2: -457294087
Mon May 10 13:14:40 2004 [Found Primary]: 172.18.137.50:38625:65535
Mon May 10 13:14:40 2004 list[0].jvmid: -2032354160
Mon May 10 13:14:40 2004 secondary str: -457294087
Mon May 10 13:14:40 2004 list[1].jvmid: -457294087
Mon May 10 13:14:40 2004 secondary str: -457294087
Mon May 10 13:14:40 2004 [Found Secondary]: 172.18.137.54:38625:65535
Mon May 10 13:14:40 2004 Found 2 servers

2) Если плагин также установлен на новом Apache, в момент запуска Apache он пропингует все доступные серверы Weblogic, чтобы сообщить о них как о действующих или мертвых (здесь используются мои термины, а не официальные) - при выполнении этой проверки работоспособности он получает JVMID для каждого доступного Weblogic. После этого, когда он получит первый запрос с уже существующим JVMID — он сможет направить правильно.

3) есть некоторые параметры, такие как DynamicServerList ON - если он включен, он продолжает опрашивать Healthy Weblogics, если выключен, то он отправляет его только в жестко заданный список. так что если On - то это довольно динамично

person JoseK    schedule 13.02.2014