Наша компания запускает множество приложений, которые используют сеть для выполнения нескольких операций (отправка электронной почты, загрузка файлов и т. Д.).
Мы часто получаем такие ошибки, как UnknownHostException, которые нарушают некоторую бизнес-логику. Я предполагаю, что они связаны с тем, что некоторые DNS-запросы не работают на каком-то уровне (приложение, ОС и т. Д.).
Поскольку некоторые из этих запрошенных доменов на самом деле не меняют свой IP-адрес, по крайней мере, половина этих ошибок не должна происходить.
Я думаю о каком-то DNS-кеше или локальном сервере, который изолировал бы наши приложения от таких временных ошибок DNS.
Я думаю о чем-то, что вернет последний известный IP-адрес, если следующий DNS-сервер вернет ошибку (и, возможно, периодически обновит известное имя хоста до разрешений IP), но я понятия не имею, имеет ли это смысл. У меня нет предыдущего опыта в это поле.
После некоторых поисков в сети я обнаружил MaraDNS и BIND, но я понятия не имею, действительно ли они мне нужны, и у меня не было времени попробовать их.
Мы работаем с серверами Windows версий 2008 и 2012. На правильном ли я пути? Или вы предлагаете другой подход к проблеме?
Я связываю свой с этим локальное DNS-кеширование? вопрос, так как в нем есть несколько предлагаемых программ, на случай, если какое-то из них может мне помочь.
Ваш вопрос не совсем ясен, но похоже, что вам нужен локальный DNS-сервер, который может размещать внутреннюю зону DNS для всех ваших внутренних клиентов и разрешать эти запросы имен DNS для всех внутренних клиентов. Если это то, что вам нужно, просто установите роль DNS-сервера на один из ваших серверов Windows, создайте зону DNS для своих внутренних клиентов и настройте их с суффиксом DNS, который соответствует зоне.