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

Java CompletableFuture로 비동기 적용하기

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

두줄요약

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

문제 상황

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

해결 방법

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

적용해볼 점

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

다음 읽기

#Java 주제를 다룬 다른 회사 글

모던 백엔드 - 구조화된 동시성

Java 25 프리뷰의 구조화된 동시성을 소개했습니다. 기존 비동기 처리의 한계를 StructuredTaskScope로 어떻게 보완하는지 살펴봤습니다.

넥스트리
넥스트리
백엔드

댓글 0

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

댓글을 불러오는 중...