I Built a Super-App Backend in 2 Weeks. Here's What Nobody Tells You About the Chaos.

개요

14일 동안 5개의 버티컬(수직 통합 비즈니스 모델)을 지원하는 슈퍼 앱 백엔드를 구축한 경험을 통해, 이러한 복잡한 시스템 구축 시 간과하기 쉬운 문제점과 실제 겪게 되는 혼란에 대해 공유합니다.

주요 내용

  • 복잡성 증가: 14일 만에 1,028개의 PHP 파일, 236개의 데이터베이스 마이그레이션, 65개의 Git 커밋이 발생하며 프로젝트 관리가 어려워졌습니다.
  • 정교한 커미션 엔진: 다중 공급업체 플랫폼에서 각 주체(공급업체, 라이더, 플랫폼)의 커미션을 정확하게 계산하기 위해 3일간의 개발 시간을 들여 마크업 계산, null 값 처리 등 복잡한 로직을 구현했습니다.
  • 강력한 알림 시스템: 텍스트를 넘어 이미지와 실시간 상태 업데이트를 포함하는 푸시 알림 시스템을 구축하여 주문 상태 변화, 매칭 알림, 분쟁 처리 등을 사용자에게 전달했습니다.
  • 결제 시스템의 복원력: 결제 실패나 타임아웃 발생 시 주문 상태를 유지하면서 결제를 재시도할 수 있는 결제 복구 시스템을 구현했습니다.
  • 실시간 주문 추적 및 로깅: 모든 주문 상태 변경에 대한 로그를 기록하여 문제 발생 시 원인 파악 및 디버깅이 용이하도록 했습니다.
  • 기능 토글 활용: 모든 기능을 초기에 출시하는 대신, ensureFeatureAvailable 메서드를 활용하여 미완성된 기능을 사용자에게 오류 대신 "준비 중"이라는 메시지로 안내하여 안정성을 높였습니다.
  • 실무적 교훈: 마이그레이션의 영속성, 엣지 케이스의 중요성, 알림 시스템의 사용자 경험 영향, 커미션 계산의 철학적 복잡성, 로깅의 필수성 등을 깨달았습니다.

시사점

단기간 내 다중 버티컬을 지원하는 슈퍼 앱 백엔드를 구축하는 과정은 기술적 난이도뿐만 아니라, 복잡한 비즈니스 로직, 사용자 경험, 안정적인 시스템 운영을 위한 철저한 계획과 개발이 동반되어야 함을 보여줍니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions