Code Architecture of the Payment Tab Feed Server That Assembles Content
Key point
KakaoPay's Payment Tab has unveiled an architecture that serves diverse content flexibly and reliably by leveraging SDU and BFF structures.
Details
The Payment Tab adopted a BFF (Backend For Frontend) structure to increase the client's focus on UI implementation and optimize response speed. It maximizes network efficiency by calling multiple microservices and combining them into a single response for delivery.
To overcome the deployment constraints of native apps, a Server Driven UI (SDU) system was introduced. This allows UI composition, labels, and more to be changed instantly through admin settings without an app update.
Items within the feed are managed in units of Row, and support three rendering types: SDU, NATIVE, and AD. Each Row includes a unique identifier rowId, data needed for UI implementation, and meta information for metric collection.
The server operates in a non-blocking manner using Kotlin, Spring, Webflux, and R2dbc, and supports dynamic feed composition based on RowSetting information. In particular, an architecture was built to efficiently handle the complex N:M relationships between linked data and Rows.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.