Update README.md
This commit is contained in:
25
README.md
25
README.md
@@ -9,14 +9,15 @@
|
||||
1. 관리자는 도서를 등록한다.
|
||||
2. 사용자는 도서를 대여한다.
|
||||
3. 사용자는 도서가 대여 중인 경우, 도서를 예약한다.
|
||||
4. 도서를 대여시에는 포인트를 사용한다.
|
||||
4. 도서를 대여/예약 시에는 포인트를 사용한다.
|
||||
4-1. 예약 취소 시에는 포인트가 반납된다.
|
||||
5. 사용자는 도서를 반납한다.
|
||||
|
||||
## 비기능적 요구사항
|
||||
1. 트랜잭션
|
||||
1. 결제가 되지 않은 대여건은 아예 거래가 성립되지 않아야 한다. Sync 호출
|
||||
1. 결제가 되지 않은 경우 대여할 수 없다. Sync 호출
|
||||
2. 장애격리
|
||||
1. 도서관리 기능이 수행되지 않더라도 예약은 365일 24시간 받을 수 있어야 한다 Async (event-driven), Eventual Consistency
|
||||
1. 도서관리 기능이 수행되지 않더라도 대여/예약은 365일 24시간 받을 수 있어야 한다 Async (event-driven), Eventual Consistency
|
||||
2. 결제시스템이 과중되면 사용자를 잠시동안 받지 않고 잠시후에 결제하도록 유도한다 Circuit breaker, fallback
|
||||
3. 성능
|
||||
1. 사용자는 전체 도서 목록을 확인하여 전체 도서의 상태를 확인할 수 있어야한다. CQRS
|
||||
@@ -85,29 +86,17 @@
|
||||
|
||||
* 이벤트스토밍 결과: http://msaez.io/#/storming/nZJ2QhwVc4NlVJPbtTkZ8x9jclF2/every/a77281d704710b0c2e6a823b6e6d973a/-M5AV2z--su_i4BfQfeF
|
||||
|
||||
- AS-IS 조직
|
||||

|
||||
|
||||
- TO-BE 조직
|
||||

|
||||
|
||||
|
||||
## 이벤트 도출
|
||||

|
||||

|
||||
|
||||
## 부적격 이벤트 탈락
|
||||

|
||||
|
||||
- 과정중 도출된 잘못된 도메인 이벤트들을 걸러내는 작업을 수행함
|
||||
- 주문시>메뉴카테고리선택됨, 주문시>메뉴검색됨 : UI 의 이벤트이지, 업무적인 의미의 이벤트가 아니라서 제외
|
||||
|
||||
## 액터, 커맨드 부착하여 읽기 좋게
|
||||

|
||||

|
||||
|
||||
## 어그리게잇으로 묶기
|
||||

|
||||

|
||||
|
||||
- app의 Order, store 의 주문처리, 결제의 결제이력은 그와 연결된 command 와 event 들에 의하여 트랜잭션이 유지되어야 하는 단위로 그들 끼리 묶어줌
|
||||
|
||||
## 바운디드 컨텍스트로 묶기
|
||||
|
||||
|
||||
Reference in New Issue
Block a user