chrome dns cache
크롬 브라우저는 dns cache 설정이 되어있다. 하지만 dns cache 를 clear 할 수 있는 방법이 있다. chrome://net-internals/#dns 에 접속하며 아래의 화면과 같이 Clear host cache 를 클릭하면 된다. dns lookup 도 제공한다.
command 로는 아래처럼 입력할 수 있다. (www.naver.com nslookup 수행 시, 결과값)
❯ nslookup www.naver.com
Server: 168.126.63.1
Address: 168.126.63.1#53
Non-authoritative answer:
www.naver.com canonical name = www.naver.com.nheos.com.
Name: www.naver.com.nheos.com
Address: 223.130.195.200
Name: www.naver.com.nheos.com
Address: 223.130.200.107
java dns cache
VIP 로 묶인 MySQL 서버에 실제 물리장비가 스위칭되는 경우에 거기에 붙은 서버도 같이 변경이 이뤄나야 한다. 그렇지 않으면 변경전 MySQL 서버에 세션이 붙어있는 현상이 발생될 수 있다. 따라서 자바단에서 dns cache 비활성화 처리를 해줘야 한다. 아래처럼 할 수 있다.
// DNS 캐시 비활성화
java.security.Security.setProperty("networkaddress.cache.ttl" , "0");
java.security.Security.setProperty("networkaddress.cache.negative.ttl", "0");
- networkaddress.cache.ttl 은 DNS 조회결과를 캐시하는데 사용되는 TTL 값이다. 초단위로 표시된다. 따라서 해당 값이 0이면 DNS 서버에 새로운 요청을 매번 수행한다.
- networkaddress.cache.negative.ttl 은 실패한 DNS 조회결과를 캐시하는데 사용되는 TTL 값이다. 초단위로 표시된다. 해당 값이 0이면 실패한 dns cache 에 대해서 반복적으로 dns 서버에 요청을 보내게 된다.
결국 매번 dns 서버에 질의하여 IP 를 찾는다.
java 8 이전버전에서 java dns cache
java8 이전버전에서만 사용된 dns cache disable 방법이 있다. 아래처럼 작성하고 java8 이후부터는 networkaddress.cache.ttl 로 사용한다고 한다. 그래도 java8 이후의 위 속성은 여전히 동작한다고 한다. 다만 java8 이후에선 권장되는 방식이 아니라고 한다.
(참고 : https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html)
System.setProperty("sun.net.inetaddr.ttl", "0");
'Interest > 개발' 카테고리의 다른 글
2024-02 개발 : 자투리 기록 (1) | 2024.02.20 |
---|---|
2024-01 개발 : 자투리 기록 (0) | 2024.01.21 |
2023-11-19 개발 : 자투리 기록 (0) | 2023.11.19 |
20201226 동영상 : 소프트웨어 아키텍처의 중요성 (0) | 2020.12.26 |
20201221 책 : 객체지향 사고 프로세스 (0) | 2020.12.22 |