본문 바로가기

백엔드 엔지니어링 일지

마켓 백엔드 엔진 0 : 대용량 트래픽에서 성능 최적화 및 데이터 무결성 보장

 

프로젝트 목표

대용량 트래픽이 몰리는 환경을 가정하여 재고 정합성을 보장하고 조회 성능을 최적화하는 마켓 백엔드 엔진 구축을 목표로 계획을 수립하려고 합니다. 이를 위해서 대용량  테스트 데이터를 저장하고 부하 테스트를 이용해서 각종 실험을 할 예정입니다.


이번 엔지니어링 목표는 실무에 가장 가까운 환경을 직접 설계해보고,  여러 가지 방식을 사용해보며 어떤 코드와 환경이 트래픽 서비스에서 효율적인지를 학습하는데 있습니다. 그래서 핵심 로직인 검색과 주문 시스템에 집중할 예정이며, 그 외 시스템이나 프론트에는 큰 비중을 두지 않으려고 합니다.

 

개발 일정 계획

1단계: 기본 아키텍처 뼈대

  • 실무에 가까운 API, DB, 디렉토리 설계
  • DDD (도메인 분리까지만)
  • 예외처리 (전역 예외 핸들러)

2단계: 핵심 기능 구현 (비즈니스) 및 품질 레이어

  • 재고 / 주문 기능
  • 기본 CRUD API
  • 테스트코드 (Service 중심)
  • 로깅 (request/response, error log)
  • API 문서 자동화 (Swagger/OpenAPI)
  • JWT 보안 관리
  • 기초 CI 구축: Github Actions + 테스트 자동화

3단계: 동시성/정합성 문제

  • 재고 주문 동시성 해결 (락, 트랜잭션)
  • 멱등성 키 도입

4단계: 성능/검색 최적화

  • 검색 속도 및 최적화 (DB index, query 개선)
  • Elasticsearch 도입 (검색 고도화)

5단계: 비동기/확장 아키텍처

  • 메시지큐 비동기 처리 (Kafka/RabbitMQ)

6단계: 운영 레벨 

  • 분산 트래킹 및 모니터링 (trace/log/metrics)
  • Graceful shutdown 설계
  • Resilience4j (Circuit Breaker)
  • CD 고도화 : Blue-Green 무중단 배포(AWS ALB)
  • terraform 인프라 자동화
  • kubernetes (선택, 과설계라 판단되면 보류)

 

Gemini와 GPT를 사용해서 일정을 기획했고, 기술 스택은 도중에 바뀔 수도 있을 것 같습니다.

최종 목표는 실무 수준의 정합성 관리, 최적화, 보안 관리, 자동화를 경험하는 것입니다.

학습에 이용할 코드 에이전트는 디렉토리 구조를 한눈에 보고 싶어 cursor로 정했습니다.

일단 구현하고 모르는 부분은 질문하는 top-down 방식으로 학습할 예정입니다.