nginx as reverse proxy for weblogic

Илья Шипицин chipitsine at gmail.com
Sun Jan 27 10:08:19 UTC 2013


если apache+weblogic-plugin вас устраивает, используйте его.


27 января 2013 г., 13:45 пользователь teo <nginx-forum at nginx.us> написал:

> Была мысль заменить связку apache+ webllogic-plugin на nginx. Но сколько
> раз
> не пробовал - все равно родной плагин работает лучше.
> Неужели nginx за столько времени не додумался до того, что 10 лет назад
> сделали в BEA?
>
> Сейчас я пробую вот такую конфигурацию
>
> upstream web_backend {
>     ip_hash;
>     least_conn;
>     server 192.168.2.11:7001;
>     server 192.168.2.12:7001;
>     server 192.168.2.13:7001;
> }
>
>     location / {
>         proxy_pass      http://web_backend;
>         proxy_http_version 1.1;
>         proxy_set_header WL-Proxy-Client-IP $remote_addr;
>         proxy_set_header Proxy-Client-IP $remote_addr;
>         proxy_set_header X-Forwarded-For $remote_addr;
>         proxy_read_timeout 600;
>         proxy_send_timeout 1;
>     }
>
> Результат - да, все работает только до определенного момента (секунд этак
> 30). Видно что все запросы валятся на один инстанс weblogic, забивают все
> его очереди и в результате все висит.
> Т.е. почему нет заявленного round-robin и когда nginx решит переключиться
> на
> другой инстанс - не известно.
> Впрочем я конечно не уверен что все происходит именно так, но факты такие -
> через некоторое время консоль управления подвисает - это происходит обычно
> тогда, когда один из инстансов тупо не отвечает ни на какие запросы. Далее
> nodeManager, видя что его инстанс не отвечает - валит его и запускает
> вновь.
> Если консоль все-таки ответила, то видно что кол-во конектов на этих 3х
> инстансах распределено примерно так 10+1200+10.
>
> Почему же этого не происходит при родном плагине?
> Во 1х плагин постоянно тестирует инстансы, посылая запрос на несуществующую
> страничку и при этом его цель не получить какой-то конкретный ответ, а
> просто увидеть что инстанс жив, даже если это ответ 404. И заодно оценить
> насколько тот занят - если задержка велика - значит надо выбрать другой.
> А тестировать инстанс пришедшим запросом - а вдруг это поисковый запрос,
> который требует много ресурсов и ответ будет долгим?
> Кстати в параметрах настройки плагина нет таймаутов - т.е. если вы будете
> вытаскивать 20гиговый файл, то вас не срубят на 10й минуте.
> Во 2х, он добавляет куки в ответ инстанса, с тем, чтобы знать на каком
> конкретно сервере исполнялся предыдущий запрос.
> При этом никакие циски с NAT и диапазоном IP адресов уже не страшны (это
> когда каждый конект идет через другой адрес) - он заботится о том, чтобы
> инстансу было легче доставать сессию клиента.
> В 3х плагин поддерживает keep_alive со стороны инстанса.
>
> Так может все-таки добавить такие фичи в ngx_http_proxy_module?
> Или я что-то пропустил и кто-то знает решение с имеющимся функционалом?
> Версии в которых это пробовал я - 1.0.15 из epel и 1.2.6.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,235603,235603#msg-235603
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130127/8a5d4143/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru