"Spring Boot로 아주 쉬운 MSA 구조 만들기 실습 플랜"
딱! 너 같은 4년차를 위한 레벨로 현실적으로 짜줄게.
목표
•
3개의 마이크로서비스를 만든다.
•
서비스 간 통신을 경험한다 (Feign Client).
•
Config Server, Eureka, Gateway를 쓴다.
•
로컬환경(Docker 없이)으로 먼저 완성한다.
만들 것 (미니 프로젝트)
서비스 구성
1.
회원 서비스 (User Service)
•
회원가입, 로그인
2.
상품 서비스 (Product Service)
•
상품 조회, 등록
3.
주문 서비스 (Order Service)
•
상품 주문, 주문 조회
공통 인프라
•
API Gateway: 외부 요청을 서비스별로 라우팅
•
Eureka Server: 각 서비스 등록/발견
•
Config Server: 서비스 설정 중앙 관리
실습 플랜 (4주 코스)
1주차: MSA 환경 구축
•
Spring Boot 3.x 버전으로 각 서비스 초기 세팅 (Spring Initializr)
•
Eureka Server 만들고, 각 서비스 등록
•
Config Server 구축 → 각 서비스 설정값 외부에서 관리
•
로컬에서 포트 다르게 띄우기 (User:8081, Product:8082, Order:8083)
2주차: 기본 기능 개발
•
User Service: 회원가입 (DB: H2 또는 PostgreSQL)
•
Product Service: 상품 등록/조회
•
Order Service: 주문 생성/조회
3주차: 서비스 간 통신 구현
•
Order Service가 상품 정보 조회할 때 Product Service에 요청
•
(Feign Client + Load Balancer 사용)
•
Order Service가 회원 정보 확인할 때 User Service에 요청
•
장애 상황 대비 (Feign + Circuit Breaker 적용)
4주차: API Gateway 적용 + 고도화
•
Gateway 설정 (라우팅: /user/**, /product/**, /order/**)
•
인증 토큰 체크 (JWT 간단 적용)
•
Config Server를 Git 연동으로 개선
•
예외 처리 통합 (Global Exception Handler)
필요한 기술 스택
•
Java 17+
•
Spring Boot 3+
•
Spring Cloud (Eureka, Config, Gateway, OpenFeign)
•
Gradle (또는 Maven)
•
H2 / PostgreSQL
•
Swagger (API 명세)
•
Git
실습 완료 시 얻는 것
•
MSA 구조 이해
•
Eureka, Config Server, Gateway 실전 경험
•
Feign 통신 & Circuit Breaker 적용 경험
•
간단한 JWT 인증 적용 경험
•
GitHub에 포트폴리오 업로드 가능
정리
주차 | 주요 목표 |
1주차 | 서비스 구축, Eureka/Config 연동 |
2주차 | REST API 개발 (회원, 상품, 주문) |
3주차 | 서비스 간 통신 구현 (Feign) |
4주차 | Gateway 통합, JWT 인증, 고도화 |
참고


