Похоже, у меня возникла проблема, связанная с кэшированием разрешения имен хостов DNS при использовании PoolingHttpClientConnectionManager
У меня есть API, который выполняет вызовы к внешней службе . Эта служба использует пограничное кэширование Akamai, поэтому IP-адрес может измениться. Этот API находится под большой нагрузкой.
У меня установлено максимальное количество подключений 100 для размера пула с потоком таймаута простоя, закрывающим простаивающие соединения после 30 секунд простоя. Но из-за интенсивного трафика я не думаю, что соединения когда-либо простаивают. Таким образом, похоже, что если IP-адрес этого узла службы изменится, мое приложение никогда не уловит это изменение, поскольку все соединения в пуле сохраняют старый IP-адрес, разрешенный DNS.
Я Я проверил эту гипотезу локально, изменив файл /etc/hosts на своем Mac (и очистив кеш ОС). Пока к моему приложению API поступает постоянный трафик, оно никогда не фиксирует изменения, даже если значение TTL равно 5 секундам, установленным в java.security. Я позволил ему работать в течение 20 минут после изменения имени хоста, чтобы оно указывало на неверный IP-адрес, который мог привести к сбою вызовов, и он ни разу не завершился сбоем.
Я остановил трафик JMeter, который отправлял ему. , подождал около 30 секунд и нажал на него вручную, но вызов не удался, сообщив мне, что изменения были приняты.
Есть идеи? Нужно ли мне прекратить использование пула соединений? Или написать свой DnsResolver (не знаю, как он должен работать)? Как я могу гарантировать, что соединения в моем пуле соединений будут обновляться, если запись DNS изменится для этой службы?
Подробнее здесь: https://stackoverflow.com/questions/291 ... ns-caching
Пул HttpClientsHttpClientConnectionManager и кэширование DNS ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1730385550
Anonymous
Похоже, у меня возникла проблема, связанная с кэшированием разрешения имен хостов DNS при использовании PoolingHttpClientConnectionManager
У меня есть API, который выполняет вызовы к внешней службе . Эта служба использует пограничное кэширование Akamai, поэтому IP-адрес может измениться. Этот API находится под большой нагрузкой.
У меня установлено максимальное количество подключений 100 для размера пула с потоком таймаута простоя, закрывающим простаивающие соединения после 30 секунд простоя. Но из-за интенсивного трафика я не думаю, что соединения когда-либо простаивают. Таким образом, похоже, что если IP-адрес этого узла службы изменится, мое приложение никогда не уловит это изменение, поскольку все соединения в пуле сохраняют старый IP-адрес, разрешенный DNS.
Я Я проверил эту гипотезу локально, изменив файл /etc/hosts на своем Mac (и очистив кеш ОС). Пока к моему приложению API поступает постоянный трафик, оно никогда не фиксирует изменения, даже если значение TTL равно 5 секундам, установленным в java.security. Я позволил ему работать в течение 20 минут после изменения имени хоста, чтобы оно указывало на неверный IP-адрес, который мог привести к сбою вызовов, и он ни разу не завершился сбоем.
Я остановил трафик JMeter, который отправлял ему. , подождал около 30 секунд и нажал на него вручную, но вызов не удался, сообщив мне, что изменения были приняты.
Есть идеи? Нужно ли мне прекратить использование пула соединений? Или написать свой DnsResolver (не знаю, как он должен работать)? Как я могу гарантировать, что соединения в моем пуле соединений будут обновляться, если запись DNS изменится для этой службы?
Подробнее здесь: [url]https://stackoverflow.com/questions/29107681/httpclients-poolinghttpclientconnectionmanager-and-dns-caching[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия