everydayminder
java DNS TTL 설정 자바에서 DNS 설정하는 여러가지 방법에 대해 확인해 보자. 배경 - DNS 기반 redundancy layer DNS에 여러 A 레코드를 두고, DNS lookup을 하면 그 중 하나의 A 레코드를 반환하도록 한다. 이렇게 하여 서비스의 부하 분산, 지역 분산 및 혹시 모를 장애 대비도 할 수 있다. 그런데, DNS에 기반한 위 가정에 맞추려면, java 애플리케이션의 경우 꼭 챙겨야 하는 설정이 있다. DNS Client Cache 설정 어떤 URL이 주어지면, DNS에 대한 질의를 하고자 하는 클라이언트와 그에 대한 답을 하는 서버로 역할이 나눠진다. 실행하는 자바 애플리케이션이 어떤 주소를 확인하기 위해 매번 DNS 질의를 해야 한다면 (아무리 패킷이 작더라도) 그만큼..
만약, 내 맥북에 여러 버전의 자바(java)가 설치되어 있는데, 그 위치를 모두 확인하고 싶다면 다음의 명령어를 사용하면 된다. $ /usr/libexec/java_home -V Matching Java Virtual Machines (3): 14.0.1, x86_64: "OpenJDK 14.0.1" /Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home 11.0.7, x86_64: "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home 1.8.0_192, x86_64: "Java SE 8" /Library/Java/JavaVirtualMac..
여러 버전 java 사실 개발하면서 Java의 버전을 계속 바꿀 일은 별로 없는 것 같다. 프로젝트마다 바꿀 일도 없고, 회사 정책이 바뀌지 않는한 기존의 버전을 사용할 가능성이 높다. 또한, 기존에 java 8을 사용한 프로젝트라면 특별한 이유가 없는 한 Java8을 유지보수할 가능성이 높다. Java의 버전 릴리즈 주기가 6개월로 짧아지면서, 여러 버전을 설치하고 사용하고자 할 때 jenv를 사용하면 좋을 것이다. (Python처럼) 3년 주기의 Java LTS 버전을 감안하면, production에서는 현재로서는 Java11이 유용한 선택지가 될 것이다. https://en.wikipedia.org/wiki/Java_version_history jenv: Java용 Pyenv Python 개발 환경..