Apache с mod_jk Tomcat изменяет время ожидания DNS (TTL)

Я использую приложение GSLB для географического распределения и балансировки нагрузки.

Приложение - это Apache -> Tomcat через mod_jk в worker.properties. У меня есть такие:

worker.balancing.port = 8009
worker.balancing.host = tomcats8009.gslb.domain.com
worker.balancing.type = ajp13
worker.balancing.socket_timeout = 5

Если Tomcat GSLB (tomcats8009.gslb.domain.com) изменится с IP x.x.x.x на другой IP y.y.y.y, разрешение DNS, похоже, кэшируется соединителем mod_jk, и запрос по-прежнему запрашивает x.x.x.x.

Для решения мне нужно сделать "перезагрузку", чтобы обновить разрешение y.y.y.y.

Любая идея? есть ли какое-либо кеширование DNS в коннекторе Apache или mod_jk? решения?

Спасибо.
С уважением.


person Adrian    schedule 25.04.2013    source источник


Ответы (1)


Я не знаю, есть ли какое-либо свойство на уровне mod_jk, но вы можете установить его на уровне JDK. Предположим, у вас есть Sun, параметр будет «sun.net.inetaddr.ttl»; установка его в ноль отключит кеширование DNS. Обычно это не рекомендуется, так как отключение кеширования DNS может повлиять на производительность.

person souser    schedule 25.04.2013
comment
Спасибо, Кевин, но у меня на этих серверах не установлен JDK, это только серверные сети (apache). На сервере Tomcats я настроил свойство JAVA_PATH / security / java.security networkaddress.cache.ttl, и оно работает очень хорошо. Мне нужно что-то похожее на коннектор mod_jk. - person Adrian; 26.04.2013
comment
В этом случае я бы подумал, что это исходит от ОС. Предполагая, что ОС - это Linux (или какая-то разновидность Unix), включен ли nscd на ваших веб-серверах Apache? - person souser; 26.04.2013
comment
Все веб-серверы - это Debian в качестве ОС. У меня не установлен nscd. и если я сделаю пинг с терминала, он вернет правильный IP-адрес, когда он изменится. - person Adrian; 29.04.2013