카
카카오페이
November 12, 20241회
콘텐츠를 조립하는 결제탭 피드 서버의 코드 아키텍처
간단 소개
카카오페이 결제탭 피드 서버는 SDU, Provider-Consumer 패턴, 3중화 캐싱을 통해 유연하고 안정적인 서비스 제공합니다.
AI Summary
- 결제탭의 Server Driven UI (SDU) 구조
- 결제탭은 BFF로, 클라이언트의 UI 렌더링에 필요한 데이터를 MSA 환경에서 효율적으로 제공합니다.
- SDU를 통해 네이티브 UI의 즉각적인 변경을 지원하며, 어드민 설정을 기반으로 동적인 피드 데이터 조합이 가능합니다.
- 각 UI 요소는 Row로 관리되며, RenderType(SDU, NATIVE, AD)에 따라 렌더링 방식이 결정됩니다.
- 코드 아키텍처 및 N:M 관계 해결
- 복잡한 요구사항 대응을 위해 Provider, Consumer, Aggregator 패턴을 도입하여 연동 데이터와 UI 생성 로직을 분리했습니다.
- Provider는 외부 연동 데이터를 가져오고, Consumer는 UI 응답을 생성하며, Aggregator는 이 둘을 중계하여 비동기 처리를 지원합니다.
- Selector 개념을 도입하여 하나의 연동에서 가져온 데이터를 여러 Row에서 재활용하는 1:N 관계를 효율적으로 관리합니다.
- 안정성 확보 기법
- kotlin.Result를 활용하여 에러 발생 가능 구간을 명시적으로 처리하고, 예외 발생 시 디폴트 콘텐츠를 제공하거나 UI를 제거합니다.
- DB, 캐시(Redis), 리소스 파일 3중화를 통해 데이터 안정성을 확보하고, 서버 장애 시에도 최소한의 피드 서빙을 가능하게 합니다.
- 클라이언트 캐싱을 통해 서버 응답 지연 시에도 사용자에게 기존 피드 데이터를 제공하여 사용자 경험을 유지합니다.
Next Feeds

CLI로 환경변수 관리하기
프론트엔드 개발 환경에서 환경변수 관리의 어려움을 해결하기 위해 쉘 스크립트에서 CLI 도구로 전환한 경험과 교훈을 공유합니다.
환경변수CLIAWS Secrets Manager쉘 스크립트프론트엔드
2024. 11. 12.
쏘카

Hacktoberfest 2024 후기
플라네타리움 DX팀의 Hacktoberfest 2024 스프린트 행사 후기. 온/오프라인 행사 진행 및 Libplanet, lib9c, Nine Chronicles에 대한 주요 기여 내용 소개.
Hacktoberfest오픈소스LibplanetNine Chronicles기여
2024. 11. 12.
플라네타리움
보이지 않는 부식현상은 어떻게 검출해낼 수 있을까?
미래 모빌리티의 품질 확보를 위해 플라스틱 부식 메커니즘 분석, 보이지 않는 부식 연구, 잠재 고장 현상과의 연결성 탐색이 필요하다.
부식열화플라스틱기공전자파 노이즈
2024. 11. 11.
현대자동차

CJ올리브영과 함께한 CJ온스타일 IT meetup!
CJ온스타일이 올리브영 TPM을 초청하여 애자일 방법론 기반의 협업 방식과 조직 문화 혁신 사례를 공유하고, 밋업 후 긍정적 효과를 확인했다.
CJ온스타일CJ올리브영IT 밋업애자일TPM
2024. 11. 11.
CJ온스타일
OpenInfra Asia Summit 2024 돌아보기
OpenInfra Asia Summit 2024 참여 후기: 디지털 주권, 라이선스 변경, 보안, AI 등 주요 트렌드와 NHN Cloud의 OpenStack 활용 사례 소개.
OpenInfraOpenStackNHN Cloud디지털 주권카타 컨테이너
2024. 11. 11.
NHN

아자르 Data Lifecycle Policy 개발하기
아자르의 데이터 라이프사이클 정책(DLP) 개발 과정을 설명하고, 이벤트 기반 아키텍처와 무손실 이벤트 처리 전략을 제시합니다.
Data Lifecycle Policy카프카이벤트 기반 아키텍처개인정보 삭제무손실 이벤트 처리
2024. 11. 11.
하이퍼커넥트