Mengatur JVM TTL pencarian DNS nama untuk - AWS SDK for Java 1.x

AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-supportpada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.xuntuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur JVM TTL pencarian DNS nama untuk

Mesin virtual Java (JVM) menyimpan pencarian DNS nama. Ketika JVM menyelesaikan nama host ke alamat IP, itu cache alamat IP untuk jangka waktu tertentu, yang dikenal sebagai (). time-to-liveTTL

Karena AWS sumber daya menggunakan entri DNS nama yang terkadang berubah, kami sarankan Anda mengonfigurasinya JVM dengan TTL nilai 5 detik. Ini memastikan bahwa ketika alamat IP sumber daya berubah, aplikasi Anda akan dapat menerima dan menggunakan alamat IP baru sumber daya dengan meminta. DNS

Pada beberapa konfigurasi Java, JVM default TTL diatur sehingga tidak akan pernah menyegarkan DNS entri sampai restartJVM. Jadi, jika alamat IP untuk AWS sumber daya berubah saat aplikasi Anda masih berjalan, itu tidak akan dapat menggunakan sumber daya itu sampai Anda secara manual me-restart JVM dan informasi IP cache di-refresh. Dalam hal ini, sangat penting untuk mengatur JVM's TTL sehingga secara berkala akan menyegarkan informasi IP cache.

Cara mengatur JVM TTL

Untuk memodifikasi JVM'sTTL, atur nilai properti keamanan networkaddress.cache.ttl, atur networkaddress.cache.ttl properti dalam file untuk Java 8 atau $JAVA_HOME/jre/lib/security/java.security file untuk Java 11 atau yang lebih tinggi. $JAVA_HOME/conf/security/java.security

Berikut ini adalah cuplikan dari java.security file yang menunjukkan TTL cache diatur ke 5 detik.

# # 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 ...

Semua aplikasi yang berjalan pada JVM diwakili oleh variabel $JAVA_HOME lingkungan menggunakan pengaturan ini.