목록 보기
당근페이 금융 거래 내역 Aggregator 개발기
백엔드

당근페이 금융 거래 내역 Aggregator 개발기

당근마켓
당근마켓
2024년 8월 8일

두줄요약

당근페이는 여러 금융 서비스의 거래 내역을 한 화면에서 보여주기 위해 Aggregator를 도입했습니다. 목록 조회는 병렬 호출과 Pagination으로, 상세 조회는 Token으로 통합했습니다.

핵심 내용

  • 당근페이 거래 내역의 구조적 한계를 개선하기 위해 여러 금융 서비스의 거래를 통합 조회하는 Aggregator를 도입한 사례
  • 클라이언트의 추가 연동 부담을 줄이고, 송금·결제·당근머니·당근카드 거래를 일관된 인터페이스로 제공하는 방향으로 설계
  • 목록 조회는 Snowflake ID를 cursor로 활용한 Cursor Based Pagination으로 처리하고, 내부 서버 호출은 코루틴으로 병렬화
  • 상세 조회는 serviceName 의존을 클라이언트에 노출하지 않도록 Aggregator Token을 정의해 거래 식별과 라우팅 정보를 함께 전달

선택 이유

  • 실시간 HTTP 조회 방식과 이벤트 적재 방식 중 구현 난이도와 출시 속도를 고려해 먼저 단순한 구조를 선택
  • 트래픽 확산, 장애 전파, 데이터 누락 가능성을 비교하며 현재 상황에 맞는 범위를 결정
  • Aggregator와 내부 서버의 책임 경계를 어디까지 둘지 팀 논의를 통해 정리

다음 읽기

#MSA 주제를 이어서 읽기

GraphQL을 이용한 QueryFacade 개발기

GraphQL을 인메모리 QueryFacade로 활용해 복잡한 Aggregator 구조를 정리한 사례를 다뤘습니다. 필요한 의존성만 조회하고 부분 에러 처리와 캐시 제어를 붙여 성능도 개선했습니다.

당근마켓
당근마켓
백엔드

댓글 0개

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

댓글을 불러오는 중...