LINE의 OpenJDK 적용 경험 및 고려사항

Source

  • Evernote/Technote scraps/LINE의 OpenJDK 적용기 호환성 확인부터 주의 사항까지 - LINE ENGINEERING.md

Summary

2019년 Oracle JDK 라이선스 변경에 대응하여 LINE이 OpenJDK로 전환한 경험을 공유합니다. 주요 내용은 다음과 같습니다:

  1. 배경: Oracle JDK의 유료화(2019.01 이후)로 인한 대체 필요성.
  2. 접근 방식: Java Major 버전 업그레이드(8→11)는 제외하고, 기존 Java 8 환경에서의 호환성 및 안정성 검증에 집중.
  3. 검증 방법:
    • 안정성: 10시간 이상 장시간 동작 테스트.
    • 성능: 운영 서버 일부 적용 후 평소 부하의 3배까지 부하 테스트 수행.
  4. 배포판 선택: 여러 배급처(Oracle, Azul, OpenJDK.org 등)의 특징 비교. TCK(Technology Compatibility Kit) 인증을 받은 배급판 선호.
  5. 주의사항:
    • 오래된/업데이트 안 된 서버는 그대로 유지하고, 신규 서버 구축 시 OpenJDK 검토 권장.
    • 2019.01 이전 버전은 BCL 라이선스 적용으로 업데이트 중단 시 사용 가능.
  6. 문화적 측면: OSS 도입 시 조직 내 책임 소재 및 문제 해결 문화의 중요성 강조.

Key Points

  • Oracle JDK 라이선스 변경(2019.01)으로 인한 OpenJDK 전환 필요성 대두
  • Java 8 환경 유지 전제 하에 OpenJDK 호환성 및 성능 검증 수행
  • 안정성(10h+ 동작) 및 성능(3배 부하) 테스트를 통한 검증 방법론 제시
  • 다양한 OpenJDK 배급판(Oracle, Azul, OpenJDK.org 등) 비교 및 TCK 인증 중요성
  • 기존 레거시 서버는 유지, 신규 서버 구축 시 OpenJDK 도입 권장
  • OSS 도입 시 조직 내 문제 해결 문화 및 책임 소재 명확화 필요성 강조