Welcome! Log In Create A New Profile

Advanced

Re: Корректная работа с tomcat deploy

Styopa Semenukha
October 28, 2014 01:56PM
On Tuesday, October 28, 2014 10:31:11 PM Никита Кардашин wrote:
> Привет всем,
>
> Каким образом можно корректно работать с tomcat-upstream, который
> используется для java-приложения, deploy которого занимает несколько минут?
>
> Среда:
> На входе стоит nginx proxy, в котором настроено n апстримов в режиме
> round-robin с max_fail=1. За ним - n серверов приложений, на которых
> работает Apache Tomcat, в котором работает java-приложение.
>
> Если падает один из серверов приложений - все прекрасно, nginx стучится к
> нему, получает 500/502 и выкидывает апстрим из списка доступных на заданное
> время и рероутит запрос на другой апстрим. Пользователь проблемы не видит.
> Но это если упало совсем. Если не упало, а зависло или ушло в re-deploy
> (либо мы сами стартовали re-deploy) - возникает проблема.
>
> Проблема:
> Деплой java-приложения в случае краша или обновления занимает несколько
> минут (в особо злом случае - до десяти). Томкат, сволочь, в это время
> принимает входящие соединения на свой порт, но не обслуживает их, а вешает
> на холд до момента завершения деплоя приложения. Nginx принимает коннект от
> пользователя, маршрутизирует запрос к апстриму, и... ждет 3-5 минут пока
> бэкэнд не поднимется.
> В итоге пользователь видит белый экран или частично загрузившуюся страницу
> (как повезет раунд-робином), хотя в живых есть куча других апстримов,
> которые могли бы обслужить его запрос.
>
> Осложняется ситуация тем, что апстрим в некоторых ситуациях может долго
> думать или отдавать много данных и решить проблему "в лоб", урезав
> proxy_read_timeout до нескольких секунд - нельзя.
>
> Меня может что-то спасти?
>
>
> --
> With best regards,
> differentlocal (www.differentlocal.ru | differentlocal@gmail.com),
> System administrator.

Привет.

Может быть, добавить в ваш скрипт прикрытие порта фаерволлом на время деплоя?
По принципу:
try {
iptables -A … -j REJECT
} finally {
iptables -D … -j REJECT
}
--
Best regards,
Styopa Semenukha.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Корректная работа с tomcat deploy

Никита Кардашин October 28, 2014 01:32PM

Re: Корректная работа с tomcat deploy

Styopa Semenukha October 28, 2014 01:56PM

Re: Корректная работа с tomcat deploy

Maxim Dounin October 28, 2014 02:06PM

Re: Корректная работа с tomcat deploy

Aleksandr Sytar October 28, 2014 02:06PM

Re: Корректная работа с tomcat deploy

Daniel Podolsky October 28, 2014 03:20PM

Re: Корректная работа с tomcat deploy

Aleksandr Sytar October 29, 2014 01:54AM

Re: Корректная работа с tomcat deploy

Никита Кардашин October 29, 2014 07:38AM

Re: Корректная работа с tomcat deploy

Gena Makhomed October 29, 2014 08:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 131
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready