Назад | Перейти на главную страницу

Кластер WebLogic, определить узел из файла cookie JSESSIONID

Мы запускаем кластер WebLogic 10.3.4 с тремя управляемыми серверами (узлами). Мы не используем липкость сеанса, а репликацию сеанса по кластеру, и все работает нормально. Однако, пытаясь протестировать наше веб-приложение, мы регулярно пытаемся выяснить, на каком узле в настоящее время находится пользователь (чтобы найти правильные файлы журнала).

В JSESSIONID cookie имеет формат:

sessionid!primary_server_id!secondary_server_id

как указано в официальной документации кластера WLS.

Есть ли способ определить текущий узел кластера по идентификаторам сервера из файла cookie сеанса?

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

Не прямо в Weblogic, AFAIK.

Если у вас есть веб-сервер Apache (или аналогичный прокси), входящий в кластер Weblogic, он регистрирует HASH отдельного сервера и сопоставляет его с управляемым сервером и может отправить его на тот же управляемый сервер weblogic, что и предыдущий запрос.

Как описано старая страница BEA, вы можете включить ведение журнала отладки:

Debug ALL
DebugConfigInfo ON
WLLogFile /tmp/wlproxy.log

Пример содержимого журнала:

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

Эта информация также доступна на MOS; найдите документ 780007.1.