He leído todo lo que puedo encontrar en la acumulación de problemas y no veo una referencia sobre cómo hacer el almacenamiento en caché de dns en lugar de resolver dns cada vez. Ya hay módulos que realizan el almacenamiento en caché de búsqueda de dns, pero no puedo averiguar cómo hacer que la solicitud los use.
Específicamente, estamos viendo llamadas dns.lookup aleatorias que pueden tardar segundos debido a la latencia de la red. Idealmente, me gustaría poner algo delante de las solicitudes de llamada a dns.lookup y que proporcione el resultado almacenado en caché si / cuando ocurre una desaceleración.
¿Algunas ideas?
Tendrá que instalar un servidor de almacenamiento en caché DNS como dnsmasq, powerdns, unbound, etc., y cambiar /etc/resolv.conf
para que apunte a la IP del servidor DNS.
Acabo de hacer un violín local para verificar, y parece que, dado que yahoo / dnscache modifica el módulo DNS global, usarlo en cualquier lugar de su aplicación de nodo _ debería_ funcionar en todas sus solicitudes HTTP, incluidas las realizadas a través de requestjs
.
Entonces, la respuesta probablemente sea tan simple como agregar esto en cualquier lugar de su aplicación:
require('dnscache')({ enable: true });
... debería ser todo lo que se necesita.
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
Comentario más útil
Acabo de hacer un violín local para verificar, y parece que, dado que yahoo / dnscache modifica el módulo DNS global, usarlo en cualquier lugar de su aplicación de nodo _ debería_ funcionar en todas sus solicitudes HTTP, incluidas las realizadas a través de
requestjs
.Entonces, la respuesta probablemente sea tan simple como agregar esto en cualquier lugar de su aplicación:
... debería ser todo lo que se necesita.