pile·
백엔드·넷마블netmarble·

실행 시간 효율을 위한 클래스 데이터 공유(CDS)와 Layered Jar

문제Java 애플리케이션의 초기 구동 시간이 길어 클라우드 환경의 오토스케일링 효율이 떨어진다. MyBatis 같은 프레임워크 제약 탓에 GraalVM 네이티브 이미지는 도입이 어렵다.

접근Application Class-Data Sharing(AppCDS)으로 클래스 로딩 결과를 캐시한다. Spring Boot Layered Jar로 도커 이미지 계층을 분리해 빌드와 배포 캐시 효율도 함께 끌어올렸다.

결과초기 실행 시간을 83초에서 56초로 약 30% 단축했다. 큰 리소스 투입 없이도 JVM 구동 비용을 줄일 수 있음을 확인했다.

넷마블
넷마블 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·네이버페이네이버페이·

    Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

    문제Spring Data JDBC 의 Composite ID 적용을 위해 Spring Boot 3.5 → 4.0.1 업그레이드 시 Spring Batch, Kotlin, Jackson 등 전체 스택 메이저 전환 필요.

    접근Spring Boot 4 / Spring Batch 6 / Spring Framework 7 / Kotlin 2.3 / Jackson 3 / Kotest 6 / Gradle 9 / ojdbc11 순차 업그레이드. Composite ID 는 Persistable 인터페이스로 구현, JdbcDefaultBatchConfiguration 상속으로 메타데이터 저장.

    결과기술 부채 해결 + 장기 유지보수성 개선. 운영 DB 접근 정책 충돌을 사전 식별해 안정적 배포 달성.

    #kotlin#spring#spring-boot+3