🎯 특정 시간대에 많은 주문요청이 발생할 때 발생할 수 있는 문제를 고민해보고 실습한 프로젝트 입니다.(2024.02 ~ 2024.02)
SpringBoot, Spring Gateway, MySQL, Redis, JPA, Junit5
프로젝트 패키지 구조 자세히 보기
apigateway_service
├── src
├──main/**
│ ├── config // 설정파일
│ ├── filter // 필터
│ ├── response // 예외/응답
│ ├── utill // 유틸
module_product_service
├── src
├──main/**
│ ├── common
│ ├── product
│ ├── application
│ ├── domain
│ ├── infrastructure
│ ├── presentation
│
├──test/**
├── domain
├── presentation
module_order_service
├── src
├──main/**
│ ├── common
│ ├── order
│ ├── application
│ ├── domain
│ ├── infrastructure
│ ├── presentation
│
├──test/**
├── domain
├── presentation
module_payment_service
├── src
├──main/**
│ ├── common
│ ├── payment
│ ├── application
│ ├── domain
│ ├── infrastructure
│ ├── presentation
│
├──test/**
├── domain
├── presentation
module_stock_service
├── src
├──main/**
│ ├── common
│ ├── config
│ ├── stock
│ ├── application
│ ├── domain
│ ├── infrastructure
│ ├── presentation
│
├──test/**
├── domain
├── presentation
- apigateway_service
- gateway 공통 인증 및 라우팅 (port : 8083)
- module_product_service
- 상품 도메인 서비스 (port : 8085)
- module_order_service
- 주문 도메인 서비스 (port : 8086)
- module_payment_service
- 결제 도메인 서비스 (port : 8087)
- module_stock_service
- 재고 관리 도메인 서비스 (port : 8088)
📎 API 명세서
- 프로젝트 회고록 📝 블로그 이동
- syncronized 임계영역 최소화 하기 📝 블로그 이동
- 재고 정보를 캐싱할 때 고려사항 📝 블로그 이동
- redis를 활용한 재고 수량 동시성 문제 📝 블로그 이동
개선된 프로젝트 레포지토리 : 레포지토리