목록 보기
Java CompletableFuture로 비동기 적용하기
백엔드

Java CompletableFuture로 비동기 적용하기

11번가
11번가
2024년 1월 3일

두줄요약

이관 전후 결과 비교를 위해 순차 실행하던 로직을 비동기로 개선한 사례를 다뤘습니다. Java CompletableFuture의 기본 개념과 활용 방법도 함께 정리했습니다.

문제 상황

  • 중앙 집중식 데이터베이스 탈중앙화 대비 과정에서 as-is, to-be 쿼리 결과 비교 필요
  • 순차 실행으로 인한 전체 실행 시간 2배 증가
  • 1초 차이로 조회 결과가 달라져 정상 케이스도 비교 실패하는 문제

해결 방법

  • Java 8의 CompletableFuture로 비동기 처리 적용
  • 이관 전/후 로직을 병렬 실행해 비교 시간 단축
  • 비동기 메서드, 연산 결합, 예외 처리, Timeout 등 기본 사용법 정리

적용해볼 점

  • 이관 검증처럼 동일 작업을 두 번 실행해야 하는 경우 비동기 병렬화 고려
  • 결과 비교 시 시간 민감도 높은 조회는 실행 순서와 시점 차이 점검

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...