
백엔드
모던 백엔드 - 병렬처리 리팩토링(1)
두줄요약
게시판 프로젝트의 병렬 API 호출을 CompletableFuture에서 Java 25 구조화된 동시성으로 바꾸는 설계 과정을 다뤘습니다. 취소 전파 문제와 스레드 관리 한계를 테스트로 확인하고 개선 방향을 정리했습니다.
핵심 내용
- 게시판 프로젝트의 첨부파일 검사와 썸네일 생성 로직을 CompletableFuture 기반 병렬 호출에서 Java 25 구조화된 동시성(StructuredTaskScope)으로 전환하기 위한 사전 분석과 리팩토링 설계
- 기존 방식의 예외 발생 시 취소 전파 불가, 스레드 생명주기 문제, 리소스 누수와 예외 파편화 한계 점검
- 단위 테스트로 취소 미전파 현상 확인, build.gradle에 Java 25 프리뷰 기능 활성화, fork/join/get 기반 변환 흐름과 5단계 실행 구조 이해
- 구조화된 동시성으로 병렬 작업 관리와 예외 처리 개선 가능성 검토
적용해볼 점
- 병렬 API 호출의 취소 전파와 스레드 관리 구조 점검
- CompletableFuture 대체를 위한 StructuredTaskScope 적용 가능성 검토
- 프리뷰 기능 사용 시 빌드 설정과 테스트 검증 절차 확인
