J'ai lu tout ce que je peux trouver dans l'arriéré des problèmes et je ne vois pas de référence à la façon de mettre en cache DNS au lieu de résoudre DNS à chaque fois. Il existe déjà des modules qui effectuent déjà la mise en cache de la recherche DNS, mais je ne sais pas comment faire en sorte que la demande les utilise.
Plus précisément, nous voyons des appels DNS.lookup aléatoires qui peuvent prendre quelques secondes en raison de la latence du réseau. Idéalement, je voudrais mettre quelque chose devant l'appel de requêtes à dns.lookup et lui faire fournir le résultat mis en cache si/quand un ralentissement se produit.
Des idées?
Vous devrez installer un serveur de mise en cache DNS comme dnsmasq, powerdns, unbound, etc., et modifier /etc/resolv.conf
pour pointer vers l'adresse IP du serveur DNS.
Je viens de le faire en local pour vérifier, et il semble que puisque yahoo/dnscache modifie le module DNS global, l'utiliser n'importe où dans votre application de nœud _devrait_ fonctionner sur toutes vos requêtes HTTP, y compris celles effectuées via requestjs
.
La réponse est donc probablement aussi simple que d'ajouter ceci n'importe où dans votre application :
require('dnscache')({ enable: true });
... devrait être tout ce qu'il faut.
Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.
Commentaire le plus utile
Je viens de le faire en local pour vérifier, et il semble que puisque yahoo/dnscache modifie le module DNS global, l'utiliser n'importe où dans votre application de nœud _devrait_ fonctionner sur toutes vos requêtes HTTP, y compris celles effectuées via
requestjs
.La réponse est donc probablement aussi simple que d'ajouter ceci n'importe où dans votre application :
... devrait être tout ce qu'il faut.