# 온라인 거래 예제를 통하여 엔터프라이즈 기반의 MSA 예시 !
온라인 거래 시나리오
### **로그인** \[로그인\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
등록된 사용자가 id / password를 통하여 로그인 | Spring Security | - 로그인 (id/password),
- 로그인 실패,
- 미허용 URL을 통한 접근 제어
- 허용 URL 접근
| |
### **상품 조회** \[상품\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 리스트 조회 | 영업모듈 --> 상품 조회
(모듈 간 호출)
| - 채널에 해당하는 상품 리스트 조회
- 각 채널에 맞는 상품 가격/단위/결재수단/할인/행사/배송 조회
| |
### **상품 구매** \[영업\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 선택 후 구매 | 영업 모듈 --> 상품 --> 구매 조건 --> 재고 --> 배송 다중 호출 구조 및 성능 | - 상품 조회 후 조건 입력 후 구매 결정 --> 개인 구매 페이지로 이동 --> 구매 내역 확인 --> 배송일 표시
- 상품 목록 조회 시에 재고 수량 감소
| |
### **상품 초과 구매** \[영업\]\[WMS\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 구매 시에 재고 이상 구매 | 트렌젝션 롤백 | - 상품 조회
- 상품 선택
- 상품 재고량 이상 선택
- 상품 구매
- 상품 구매 실패
- 재고량 복귀
- 거래 내역 취소
- 트렌젝션 롤백 내역 확인(Axon)
- 통합모니터링 롤백 확인
| - AXON
- ELK
|
### **상품 등록** \[상품\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
신상품 등록 | CQRS
Master DBMS insert
Slave DBMS replication
| - 관리자 로그인
- 신상품 등록
- 상품 속성 등록
| |
### **상품 입고** \[WMS\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 입고 | CQRS
Master DBMS insert
Slave DBMS replication
| - 재고량 증가 (입고)
| |
### **상품 출고** \[WMS\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 구매 후 배송시 상품 출고 | Event driven
Queue
| - 상품 구매
- 상품 배송 요청
- 상품 배송 --> 재고 출고 요청
| |
### **상품 배송** \[배송\]
비즈니스 | 검증 기술 | 시나리오 | 기타 |
상품 배송 | Event driven
Queue
Kubernetes Batch
| - 상품 구매
- 상품 구매 조건에 따른 배송 이벤트 발생
- 상품 배송 이벤트에 따른 - 재고 이벤트 발생
- 상품 판매 이력 / -재고 / 출고 내역 / 배송 내역 확인
| 배송은 배치 |