여
여기어때
December 22, 20251회
Coroutine Async 로 지도보기 API 성능 개선하기

간단 소개
여기어때는 지도보기 API의 8초 응답 시간을 Kotlin Coroutine Async와 동적 Window 분할로 2초로 단축, TPS를 7배 개선했다.
AI Summary
문제 진단 및 원인
- 여기어때 지도보기 API는 표준 상품 API 호출 시 8~10초의 응답 시간이 발생했다.
- 원인은 표준 상품 API의 100개 제휴점 순차 처리와 **Web API(BFF)**의 외부 API 수정 불가였다.
해결 전략: 병렬 처리
- Kotlin Coroutine Async와 동적 Window 분할을 통해 표준 상품 API 호출을 병렬화했다.
- 제휴점 수에 따라 1~3개 Window로 나누어 비동기 호출 후 **awaitAll()**로 결과를 병합했다.
개선 결과 및 시사점
- 응답 시간 8~10초 → 2초, TPS 30 → 215로 성능이 대폭 개선되었다.
- 외부 API 수정 없이 BFF 단의 호출 구조 재설계만으로 사용자 경험을 크게 향상시켰다.
Next Feeds

전시 도메인에 Kotlin DSL적용하기
여기어때 전시개발팀이 복잡한 숙박 상품 전시 로직의 가독성 향상을 위해 Kotlin DSL을 도입한 경험과 장단점을 공유합니다.
Kotlin DSL전시 도메인백엔드가독성복잡도
2025. 12. 22.
여기어때

Strands Agents와 Amazon Bedrock AgentCore를 활용해 포스트잇 워크숍을 파워포인트로 정리하기
Strands Agents와 Amazon Bedrock AgentCore를 활용해 포스트잇 워크숍 결과를 파워포인트로 자동 정리하는 AI Agent 개발 및 배포 방법과 맥락 보강 기법을 소개합니다.
Strands AgentsAmazon Bedrock AgentCoreAI Agent포스트잇 워크숍파워포인트 자동화
2025. 12. 22.
AWS
![공통 Kafka 전환기 [Part 2. 공통 Kafka 전환 여정]](https://miro.medium.com/v2/resize:fit:1200/1*CBaBRoVYjmcQc4ZHPeS-eA.png)
공통 Kafka 전환기 [Part 2. 공통 Kafka 전환 여정]
여기어때는 MirrorMaker2를 활용하여 8개 도메인 Kafka 클러스터를 공통 Kafka로 성공적으로 통합하고 운영 효율성을 높였습니다.
KafkaMirrorMaker2클러스터 통합데이터 복제운영 효율성
2025. 12. 22.
여기어때

복잡한 검색 홈, 구조는 유연하게 화면은 부드럽게 개선하기
여기어때 앱 검색 홈의 복잡한 구조를 모듈 분리, SwiftUI 전환, 커스텀 페이지 전환으로 개선한 경험.
검색 홈모듈 분리SwiftUI페이지 전환단방향 데이터 흐름
2025. 12. 22.
여기어때

PLP 최저가 계산 최적화: 정말 모든 객실을 계산해야 할까?
여기어때 PLP 최저가 계산 시 모든 객실을 계산하는 비효율성을 Pruning 알고리즘으로 최적화하여 계산량을 70% 줄이고 성능을 개선한 경험을 공유합니다.
최저가PLPPruning최적화숙박
2025. 12. 22.
여기어때

Observability를 위한 LGTM 첫걸음
LGTM 스택(Loki, Grafana, Tempo, Mimir)의 아키텍처, 배포 모드, 운영 팁을 다루며 Observability 환경 구축 경험을 공유합니다.
LGTMObservabilityMimirTempoLoki
2025. 12. 22.
여기어때