MSA를 이해하기 위해 간단하게 기능을 만들어 서버간 통신을 해보는 Toy 프로젝트입니다. 우리가 흔히 접하고 명확한 구분이 가능한 서점 대여 서비스를 주제로 프로젝트를 진행했습니다.
![image](https://private-user-images.githubusercontent.com/107467750/325139958-83a5c4e9-b7e8-4745-90a1-855315474c6b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTcxNDgsIm5iZiI6MTczODk1Njg0OCwicGF0aCI6Ii8xMDc0Njc3NTAvMzI1MTM5OTU4LTgzYTVjNGU5LWI3ZTgtNDc0NS05MGExLTg1NTMxNTQ3NGM2Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QxOTM0MDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZDU2NmMxNDlmYmFjNWViYzQyNzk4ZDI1NWNjNmU1OWI2YWRjNDI3ZjFkMTllZDIzZGM4MGI0NDQ2NTVhY2IyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.isxliTRKg0HLngvw3UgT-yfcM3OxomLUVp0Yy7BtHJw)
-
Loan : 대여를 담당하는 서버
-
User : 회원 정보와 회원 검증 서버
-
Book : 책 정보와 수량 확인 서버
-
History : 대여 기록을 저장하는 서버
- Loan 서버에서 대여 요청을 받고 요청에 대한 검증을 User와 Book 서버로 보내 검증을 요청받는다.
- 검증이 완료된 면 마지막으로 History 서버로 요청 데이터를 보내 대여 기록을 저장한다.
- 그 과정에서 User와 Book 서버들은 history 서버에 대여 기록을 요청해 사용자의 현재 대여 중의 책의 개수를 파악하거나 대여하려고 하는 책의 재고가 얼마 있는지 파악하여 검증을 하게 된다.