LINE의 OpenJDK 적용 경험 및 고려사항
Source
Evernote/Technote scraps/LINE의 OpenJDK 적용기 호환성 확인부터 주의 사항까지 - LINE ENGINEERING.md
Summary
2019년 Oracle JDK 라이선스 변경에 대응하여 LINE이 OpenJDK로 전환한 경험을 공유합니다. 주요 내용은 다음과 같습니다:
- 배경: Oracle JDK의 유료화(2019.01 이후)로 인한 대체 필요성.
- 접근 방식: Java Major 버전 업그레이드(8→11)는 제외하고, 기존 Java 8 환경에서의 호환성 및 안정성 검증에 집중.
- 검증 방법:
- 안정성: 10시간 이상 장시간 동작 테스트.
- 성능: 운영 서버 일부 적용 후 평소 부하의 3배까지 부하 테스트 수행.
- 배포판 선택: 여러 배급처(Oracle, Azul, OpenJDK.org 등)의 특징 비교. TCK(Technology Compatibility Kit) 인증을 받은 배급판 선호.
- 주의사항:
- 오래된/업데이트 안 된 서버는 그대로 유지하고, 신규 서버 구축 시 OpenJDK 검토 권장.
- 2019.01 이전 버전은 BCL 라이선스 적용으로 업데이트 중단 시 사용 가능.
- 문화적 측면: OSS 도입 시 조직 내 책임 소재 및 문제 해결 문화의 중요성 강조.
Key Points
- Oracle JDK 라이선스 변경(2019.01)으로 인한 OpenJDK 전환 필요성 대두
- Java 8 환경 유지 전제 하에 OpenJDK 호환성 및 성능 검증 수행
- 안정성(10h+ 동작) 및 성능(3배 부하) 테스트를 통한 검증 방법론 제시
- 다양한 OpenJDK 배급판(Oracle, Azul, OpenJDK.org 등) 비교 및 TCK 인증 중요성
- 기존 레거시 서버는 유지, 신규 서버 구축 시 OpenJDK 도입 권장
- OSS 도입 시 조직 내 문제 해결 문화 및 책임 소재 명확화 필요성 강조