콘텐츠를 조립하는 결제탭 피드 서버의 코드 아키텍처
·2024.11.12 19:00
카카오페이 결제탭이 SDU와 BFF 구조를 활용해 다양한 콘텐츠를 유연하고 안정적으로 서빙하는 아키텍처를 공개했다.
결제탭은 클라이언트의 UI 구현 집중도를 높이고 응답 속도를 최적화하기 위해 BFF(Backend For Frontend) 구조를 채택했다. 여러 마이크로 서비스를 호출해 하나의 응답으로 조합하여 전달함으로써 네트워크 효율성을 극대화한다.
네이티브 앱의 배포 제약을 극복하기 위해 Server Driven UI(SDU) 시스템을 도입했다. 이를 통해 앱 업데이트 없이도 어드민 설정을 통해 UI 구성과 라벨 등을 즉시 변경할 수 있다.
피드 내 아이템은 Row 단위로 관리되며, SDU, NATIVE, AD 세 가지 렌더링 타입을 지원한다. 각 Row는 고유 식별자인 rowId와 UI 구현에 필요한 data, 지표 수집을 위한 meta 정보를 포함한다.
서버는 Kotlin, Spring, Webflux 및 R2dbc를 사용하여 논블록킹 방식으로 동작하며, RowSetting 정보를 기반으로 동적인 피드 구성을 지원한다. 특히 연동 데이터와 Row 간의 복잡한 N:M 관계를 효율적으로 처리할 수 있는 아키텍처를 구축했다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.