Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Définissez le TTL de la JVM pour les recherches de noms DNS
La machine virtuelle Java (JVM) met en cache les recherches de nom DNS. Lorsque la JVM convertit un nom d'hôte en adresse IP, elle met l'adresse IP en cache pendant une période spécifiée, connue sous le nom de time-to-live(TTL).
Étant donné que les AWS ressources utilisent des entrées de nom DNS qui changent occasionnellement, nous vous recommandons de configurer votre JVM avec une valeur TTL de 5 secondes. Ainsi, lorsque l'adresse IP d'une ressource change, votre application peut recevoir et utiliser la nouvelle adresse IP de la ressource en interrogeant le DNS.
Dans certaines configurations Java, la durée de vie par défaut de la JVM est définie de façon à ce que la JVM n'actualise jamais les entrées DNS tant qu'elle n'est pas redémarrée. Ainsi, si l'adresse IP d'une AWS ressource change alors que votre application est toujours en cours d'exécution, elle ne pourra pas utiliser cette ressource tant que vous n'aurez pas redémarré manuellement la JVM et que les informations IP mises en cache ne seront pas actualisées. Dans ce cas, il est essentiel de définir la durée de vie de la JVM de façon à ce que ses informations IP mises en cache soient régulièrement actualisées.
Comment configurer le JVM TTL
Pour modifier le TTL de la JVM, définissez la valeur de la propriété de sécurité networkaddress.cache.ttlnetworkaddress.cache.ttl
$JAVA_HOME/jre/lib/security/java.security
fichier pour Java 8 ou dans le fichier pour Java 11 ou supérieur. $JAVA_HOME/conf/security/java.security
Ce qui suit est un extrait d'un java.security
fichier qui montre que le cache TTL est réglé sur 5 secondes.
# # This is the "master security properties file". # # An alternate java.security properties file may be specified ... # The Java-level namelookup cache policy for successful lookups: # # any negative value: caching forever # any positive value: the number of seconds to cache an address for # zero: do not cache ...
networkaddress.cache.ttl=5
...
Toutes les applications qui s'exécutent sur la JVM représentée par la variable d'$JAVA_HOME
environnement utilisent ce paramètre.