목록 보기
화면 단위 복잡성을 흡수하다: 여기어때 BFF의 기록
백엔드

화면 단위 복잡성을 흡수하다: 여기어때 BFF의 기록

여기어때
여기어때
2026년 3월 10일

두줄요약

MSA 환경에서 화면 단위 복잡성을 줄이기 위해 BFF를 도입한 사례를 정리했습니다. 여러 도메인 API 조합과 분기 로직을 서버로 옮기고, 장애 전파와 메모리 과부하 대응도 다뤘습니다.

문제 상황

  • MSA 구조에서 도메인별 API는 잘 분리됐지만 화면 구성에는 여러 API 조합이 필요해 클라이언트 복잡도와 네트워크 비용이 증가
  • iOS, Android, Web이 동일한 데이터 조합·상태 분기 로직을 반복 구현해야 하고, 일부 API 실패 시 화면 처리도 어려움

해결 방법

  • BFF를 화면 단위 API 계층으로 두고 여러 도메인 API를 조합해 클라이언트용 ViewModel로 변환
  • 클라이언트가 단일 BFF API만 호출하도록 구조를 바꿔 메쉬업, 분기, 응답 가공 책임을 서버로 이전

성능/운영 포인트

  • 지연되는 하위 API로 인한 스레드 고갈과 장애 전파를 대비해 재시도, 빠른 실패, 대체 응답, 서킷 브레이커를 고려
  • 대량 데이터 조합으로 인한 메모리·힙 부담을 줄이기 위해 페이징 강제와 캐시 도입을 적용

댓글 0

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

댓글을 불러오는 중...