목록 보기
Coroutine Async 로 지도보기 API 성능 개선하기
백엔드

Coroutine Async 로 지도보기 API 성능 개선하기

여기어때
여기어때
2025년 12월 22일

두줄요약

지도보기 API의 병목이던 표준 상품 API 호출을 동적 window 분할과 Coroutine Async로 병렬화했습니다. 그 결과 응답 시간을 8~10초에서 약 2초로 줄이고 TPS도 크게 개선했습니다.

문제 상황

  • 지도보기 기능의 주변 100개 제휴점 조회와 최저가 표시 과정에서 응답 시간이 8~10초까지 지연
  • Search API 이후 표준 상품 API 호출 구간이 병목으로 작용
  • 캐시 미스 시 TPS 30 수준으로 사용성 저하

원인 분석

  • 표준 상품 API가 제휴점 단위 최저가 계산을 순차 처리하며 처리 시간이 누적
  • 제휴점 수가 30개 수준인 PLP와 달리 100개를 한 번에 조회하는 지도 화면에 동일한 호출 구조를 적용
  • 내부 로직 수정이 어려운 외부 서버라 호출 방식만 조정 가능

해결 방법

  • 제휴점 수에 따라 1~3개 window로 동적 분할
  • Kotlin Coroutine의 async와 Dispatchers.IO로 표준 상품 API를 병렬 호출
  • awaitAll로 결과를 병합해 지도 핀 데이터 생성

다음 읽기

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

Kotlin Coroutine으로 구현한 비동기 제휴 연동 시스템 구축기

Spring Batch 기반 동기 연동의 병목을 Kotlin Coroutine으로 개선한 사례를 소개했습니다. Kafka와 비동기 호출을 결합해 처리 시간과 리소스 효율을 함께 높였습니다.

SSG.COM
SSG.COM
백엔드

댓글 0

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

댓글을 불러오는 중...