콘텐츠를 조립하는 결제탭 피드 서버의 코드 아키텍처
·2024.11.12 19:00
핵심 내용
카카오페이 결제탭이 SDU와 BFF 구조를 활용해 다양한 콘텐츠를 유연하고 안정적으로 서빙하는 아키텍처를 공개했다.
1 / 2
자세히 보기
결제탭은 클라이언트의 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 관계를 효율적으로 처리할 수 있는 아키텍처를 구축했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.