# 온라인 거래 예제를 통하여 엔터프라이즈 기반의 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 - 상품 구매 - 상품 구매 조건에 따른 배송 이벤트 발생 - 상품 배송 이벤트에 따른 - 재고 이벤트 발생 - 상품 판매 이력 / -재고 / 출고 내역 / 배송 내역 확인 배송은 배치