1. 프로젝트 소개
- 프로젝트 명 : MSA & DDD 방식으로 프로젝트를 개발 과정 학습
- 동기 : 최근 트랜드에 맞춰 MSA & DDD 방식 학습
- 목표 : 로컬 환경에서 Docker Compose를 사용해 MSA & DDD 방식으로 프로젝트 설계하는 방법 학습
- 개발 기간 : 2024.08.19 ~ 2024.08.23
- 소개
- 핵심 기능
- 기능 1 ) FastAPI + Springboot 프로젝트 연결
- 기능 2 ) 각 서비스가 동작하는지 확인할 API
- 한계: 해당 프로젝트는 로컬 환경만 고려한 내용이므로 서버에서 동작하는 과정에서 발생하는 문제를 다루지 못함
- 이후 계획: MSA 방식으로 서비스를 배포했을 때 발생되는 문제 고려하기
- 실제 MSA를 도입했을 대 서버가 여러대 나눠져서 생기는 문제
- 기존 단일 서버일 때는 필요가 없던 API 게이트웨이 필요
- 여러 서버로 나눠져 있기 때문에 큐 시스템, 캐시 시스템 같은 전반적인 시스템의 이해 필요
2. 기술 스택 정리
[Backend] Springboot
[Backend] FastAPI
Docker
[Database] MariaDB
🗃️ Github
https://github.com/pastjung/Architecture-MSA-DDD
📽️ 시연 영상
🗒️ 발표 자료
🙋♂️Introduction
🥇 MVP 목표
MSA와 DDD원칙을 따르는 방식으로 프로젝트 설계하는 방법 학습
* MSA(마이크로서비스 아키텍처)
* DDD(도메인 주도 설계)
🖥️ 개발 환경
# Environmental Development
- Java 17
- Gradle 8.4
- Spring Boot 3.2.4
- FastAPI
- MariaDB
# Tools
- IntelliJ IDEA
- Visual Studio Code
- Docker
# Community
- Notion
- Github