<aside>
👉 지금까지 학습한 Spring Data, Spring cloud 를 사용하여 애플리케이션들을 만들어 봅시다.
</aside>
도서 관리 시스템
1. 프로젝트 개요
- 도서 관리 시스템은 사용자가 도서를 등록, 조회, 수정, 삭제할 수 있으며, 각 도서에 대한 사용자 리뷰를 작성하고 조회할 수 있는 플랫폼입니다. 이 시스템은 마이크로서비스 아키텍처를 기반으로 하여 여러 개의 독립적인 서비스를 통해 구현됩니다. 각 서비스는 특정 도메인에 대한 기능을 제공하며, 다른 서비스와의 통신을 통해 전체 시스템이 유기적으로 작동합니다.
2. 주요 목표
- 학습한 MSA의 기능을 사용하여 애플리케이션을 구성해 봅니다.
- Spring Data의 의 기능과 spring cloud의 기능을 통합하여 개발합니다.
- 이를 통해 우리는 강의를 통해 배운 것들을 종합하여 개발을 합니다.
3. 시스템(마이크로 서비스) 구성
- Zipkin을 제외한 모든 시스템은 애플리케이션 단위입니다. 따라서 우리는 총 5개의 애플리케이션을 생성해야 합니다. 또한 Review 를 담당하는 애플리케이션은 2개를 생성하여 각각 다른 포트를 할당해야 합니다.
- Auth Service: 사용자 인증 및 권한 관리
- Book Service: 도서 정보 관리
- Review Service: 도서 리뷰 관리
- Gateway Service: API Gateway 및 JWT 인증 필터링
- Eureka Server: 서비스 등록 및 발견
- Config Server: 중앙 설정 관리
- Zipkin: 분산 추적 (Docker 가 설치되어 분산 추적 실습이 가능한 인원만 진행)
4. 개발 환경
- JAVA 17
- Spring Boot 3.x버전
- Gradle
- 필요에 따라 Docker(Zipkin)