팀 그대가 기다리던 가을이 왔네요 🍂
이름 | 역할 분담 |
---|---|
김재윤 | 결제 |
조원호 | 쿠폰, 타임세일 |
윤선미 | 유저, 브랜드 |
박현도 | 주문 |
- 아래의 환경 변수 설정
구성 편집
->빌드 및 실행
->옵션 수정
->환경 변수
선택 -> 환경 변수에 아래의 형식으로 작성키1=값1;키2=값2
- 프로젝트에 맞게 docker-compose.yml 수정
- 도커 실행
- 스프링 실행
docker compose support
라이브러리가 자동으로 컨테이너를 실행 및 종료합니다.
분류 | 상세 |
---|---|
IDE | IntelliJ |
Language | Java 21 |
Framework | Spring Boot 3.3.4 |
Repository | PostgreSQL 16.4, H2 In-memory(Test) |
Build Tool | Gradle 8.8 |
Infra | EC2, Docker, Github Actions |
- Spring WebMVC
- Spring Validation
- Spring Security
- Spring Data Jpa
- Spring Data Redis
- Spring Batch 5.1.2
- jjwt 0.12.6
- QueryDSL 5.0.0
- mapStruct 1.5.5.Final
- Lombok
- JUnit
- Swagger 2.6.0
- Jacoco
대규모 트래픽에도 안정적인 쿠폰 발급 및 재고 관리가 가능한 MSA 이커머스 프로젝트 입니다.
- MSA 아키텍처, Redis, Kafka로 대규모 트래픽 안정적 처리
- 주요 API 처리량 200.0/sec 이상 달성
- 동시성 문제 없는 안전한 서비스
- 부하 테스트
- Docker로 일관된 배포 구현
- Github Actions, Docker Hub로 CI/CD 적용
- Prometheus, Grafana로 실시간 메트릭 모니터링
- 대용량 트래픽을 수용하기 위한 비동기 쿠폰 발급
- Redis의 Lua Script로 동시성 제어 및 쿠폰 발급 상태 관리
- 독립적 트랜잭션으로 각 서비스 통신 관리
상품 재고확인 & 차감
→쿠폰 사용 확인 & 상태 변경
→적립금 사용 확인 & 차감
- 오류 발생 시 Saga(Choreography) 패턴으로 자동 롤백, 데이터 일관성 유지
- 상품의 실시간 최저가 제공
- 짧은 TTI와 TTL갱신으로 리소스를 절약, 캐시 효율성 향상
- 특정 시간에 자동으로 대량 결제 데이터 처리, 대규모 트랜잭션 최적화
결제 완료 데이터 조회
→수수료 차감
→정산결과 저장