프로젝트 총정리
본 문서는 10-trillion-dollars 이커머스 프로젝트 전체를 한눈에 이해하기 위한 요약 페이지입니다.
설계 과정이 아닌 최종 결과(Outcome) 중심으로 정리했습니다.
1. 프로젝트 상태 요약
- 개발 기간: 2024.03.26 ~ 2024.04.30
- 팀 프로젝트: 총 5명
- 프로젝트 성격: 풀스택 이커머스 플랫폼(MSA 기반)
- 역할: 리뷰 도메인 / Redis 동시성 제어 / 캐싱 / AWS SES / Front
- 현재 운영 상태:
AWS 비용 문제로 운영을 중단한 이력이 있습니다.
현재는 온프레미스 환경에서 재구성되어, 비용 제약 없이 테스트 및 기능 시연 목적의 운영을 진행하고 있습니다..
2. 핵심 개선 사항 요약 (문제 → 해결 → 결과)
프로젝트 진행 중 실제 발생한 문제들과 그 해결 결과를 정리했습니다.
2-1. 주문 동시성 문제
문제
재고가 1개임에도 동시에 여러 사용자가 주문하면 중복 주문이 발생.
또한 재고 100개를 한 사용자가 주문만 걸고 결제하지 않으면 재고가 묶이는 문제 존재.
해결
- Redis 분산락 적용
- 주문 생성 시 Lock 획득
- 5분 내 결제 미완료 시 스케줄링으로 자동 취소 및 재고 복구
결과
- 동시 100명 주문 테스트에서도 재고 정합성 100% 유지
- 미결제 주문으로 재고가 막히는 문제 해결
- 재고 낭비 및 판매 기회 손실 제거
2-2. 상품 조회 성능 개선 (캐싱)
문제
메인 상품 전체 조회가 병목이 되어 전체 UX가 느려짐.
해결
- Redis 캐싱 도입
- 자주 조회되는 리스트를 캐시에 저장하여 DB 접근 최소화
결과
- 조회 속도 수십~수백 ms 단축
- DB 부하 크게 감소
- 메인 페이지 사용자 경험 개선
2-3. 인프라 비용 최적화
문제
ECS + Fargate 기반 MSA 구조가 프로젝트 규모 대비 과도한 비용 발생.
해결
- EC2 단일 서버 내부에 Front, User, Product, Order, Review 컨테이너 운영
- Docker 기반 단일 호스트 구조로 전환
결과
- 구조적인 장점 유지하면서 운영 효율성 향상
- 현실적인 운영 환경
2-4. API Gateway 적용
문제
프론트엔드가 여러 서버로 직접 요청을 보내 JWT 관리 코드가 중복되고 유지보수가 어려움.
해결
- 단일 API Gateway를 구축
- JWT 검증을 Gateway에서 일괄 처리
- 백엔드 서비스에는 검증된 유저 정보만 전달
결과
- 인증/인가 흐름 단일화
- 서버별 중복 코드 제거
- 요청 관리 구조의 일관성 확보
2-5. 로그 및 모니터링 개선
문제
MSA 구조에서 로그가 분산되어 장애 분석이 어려움.
해결
- ELK Stack(Logstash → Elasticsearch → Kibana) 구성
- Alerting 도입
결과
- 장애 지점 즉시 파악 가능
- 로그 분석 속도 향상
- 전체 시스템 신뢰성 증가
3. 아키텍처 변화 요약
프로젝트 진행 과정에서 인프라는 아래와 같이 변화했습니다.
초기: MSA + API Gateway + ECS + Fargate
→ 운영 비용 과다 및 관리 복잡성 증가
→ EC2 단일 서버 + Docker Compose 기반으로 재구성
→ 서비스 분리 구조는 유지하면서도 비용과 운영 부담 대폭 감소
핵심 포인트는 다음과 같습니다.
- 실제로 MSA 아키텍처를 구축하고 운영해본 경험을 얻었습니다.
- 필요 시 다시 MSA 형태로 즉시 전환할 수 있는 구조적 기반을 그대로 가지고 있습니다.
- 현재는 프로젝트 규모와 운영 목적을 고려할 때 비용 문제를 해결하기 위한 가장 현실적이고 효율적인 선택을 했습니다.
4. 프로젝트가 제공하는 가치
- 이커머스 핵심 기능 전체 구현 (상품, 주문, 결제, 리뷰, 유저, 주소)
- Redis 기반 동시성 제어로 운영 수준의 재고 정합성 확보
- 스케줄링 기반 미결제 주문 자동 취소 기능 구현
- Redis 캐싱을 통해 조회 성능 개선
- ELK 기반 로그 수집 및 분석 체계 구축
- Docker 기반 환경으로 로컬과 서버 환경 일관성 확보
- MSA 기반 서비스 분리 및 API Gateway 운영 경험
- 비용 최적화 및 인프라 재설계 경험 포함
5. 배포 관련 안내
현재 AWS 상시 운영은 비용 문제로 중단되었지만:
- Docker 기반으로 언제든 재배포 가능
- GitHub Actions 기반 CI/CD 구성 완료
- AWS 인프라 구성 또한 문서화 완료
시연이 필요한 경우 즉시 재구동 가능한 상태입니다.
문서 안내
이 문서는 Overview, ERD, Architecture, CI/CD, 기술적 의사결정, 트러블슈팅 등의 개별 페이지 내용을
최종 결과 중심으로 요약한 페이지입니다.
세부 설명은 각 개별 문서에서 확인할 수 있습니다.