
백엔드
Java CompletableFuture로 비동기 적용하기
두줄요약
이관 전후 결과 비교를 위해 순차 실행하던 로직을 비동기로 개선한 사례를 다뤘습니다. Java CompletableFuture의 기본 개념과 활용 방법도 함께 정리했습니다.
문제 상황
- 중앙 집중식 데이터베이스 탈중앙화 대비 과정에서 as-is, to-be 쿼리 결과 비교 필요
- 순차 실행으로 인한 전체 실행 시간 2배 증가
- 1초 차이로 조회 결과가 달라져 정상 케이스도 비교 실패하는 문제
해결 방법
- Java 8의
CompletableFuture로 비동기 처리 적용 - 이관 전/후 로직을 병렬 실행해 비교 시간 단축
- 비동기 메서드, 연산 결합, 예외 처리, Timeout 등 기본 사용법 정리
적용해볼 점
- 이관 검증처럼 동일 작업을 두 번 실행해야 하는 경우 비동기 병렬화 고려
- 결과 비교 시 시간 민감도 높은 조회는 실행 순서와 시점 차이 점검
