Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

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

여기어때 favicon여기어때·Backend·
KotlinREST APICoroutinesAsynchronous Programming
2025년 12월 22일1

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

여기어때가 표준 상품 API를 직접 수정하지 않고, Kotlin Coroutine Async 기반의 동적 윈도우 분할과 병렬 호출로 지도보기 API의 응답 시간을 8~10초에서 약 2초로 대폭 단축했습니다. 처리량은 TPS 30에서 약 215로 상승했습니다.

구현 방법

  • 검색 API 호출로 100개 제휴점 목록을 확보
  • 제휴점 수에 따라 1~3개의 윈도우로 동적 분할
  • 각 윈도우에서 builderParamMapper.toBuilderApiParam(param, window)로 파라미터 구성 후 표준 상품 API 호출
  • Dispatchers.IO에서 async로 병렬 실행 후 awaitAll로 데이터 합치기

주요 결과

  • 응답 시간 8~10초에서 약 2초로 단축
  • TPS 30 → 215로 증가, 동시 처리 약 7배 향상
  • 외부 API의 내부 로직 수정 없이 호출 구조 재설계로 성능 문제 해결

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
72%

PLP 최저가 계산 최적화: 정말 모든 객실을 계산해야 할까?

여기어때 favicon여기어때·2025년 12월 22일
No Image
71%

제휴점 목록/지도 통합기: 26배 폭증한 비용부터 아키텍처 최적화까지

여기어때 favicon여기어때·2025년 12월 16일
새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch) 섬네일
71%

새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch)

반려생활 favicon반려생활·2025년 08월 28일