
백엔드
당근페이 금융 거래 내역 Aggregator 개발기
두줄요약
당근페이는 여러 금융 서비스의 거래 내역을 한 화면에서 보여주기 위해 Aggregator를 도입했습니다. 목록 조회는 병렬 호출과 Pagination으로, 상세 조회는 Token으로 통합했습니다.
핵심 내용
- 당근페이 거래 내역의 구조적 한계를 개선하기 위해 여러 금융 서비스의 거래를 통합 조회하는 Aggregator를 도입한 사례
- 클라이언트의 추가 연동 부담을 줄이고, 송금·결제·당근머니·당근카드 거래를 일관된 인터페이스로 제공하는 방향으로 설계
- 목록 조회는 Snowflake ID를 cursor로 활용한 Cursor Based Pagination으로 처리하고, 내부 서버 호출은 코루틴으로 병렬화
- 상세 조회는 serviceName 의존을 클라이언트에 노출하지 않도록 Aggregator Token을 정의해 거래 식별과 라우팅 정보를 함께 전달
선택 이유
- 실시간 HTTP 조회 방식과 이벤트 적재 방식 중 구현 난이도와 출시 속도를 고려해 먼저 단순한 구조를 선택
- 트래픽 확산, 장애 전파, 데이터 누락 가능성을 비교하며 현재 상황에 맞는 범위를 결정
- Aggregator와 내부 서버의 책임 경계를 어디까지 둘지 팀 논의를 통해 정리