이커머스의 주문하기 구현, 기능 구현 시, 데이터 정합성, 에러 상황 대처에 중점
- 이커머스 주문 가능
- 주문 완료 조회가 가능해야 함
- 주문 요청 시, 주문 내역 적재
- 모든 주문은 주문 코드에 의해 추적 가능
Java, Spring Boot, Spring Data JPA, Spring Cloud Gateway, MySql, Redis, Rabbitmq
- Domain 모듈은 비즈니스 모듈로 외부 요소에 따른 변경이 되지 않게 한다.
- Storage는 Domain 모듈를 의존한다.
- API 모듈은 Domain 모듈을 의존, Storage 모듈은 Runtime 때 동적으로 가져온다.
- Gateway에서 회원 인증 검증
- OrderService는 Redis에서 상품 재고 검증
- Transactional Outbox Pattern 적용, Message Relay를 통해 Message Event RabbitMQ에 전달
- 전체 서버 아키텍쳐