morupark/
├── services/
│ ├── common/ # 공통 모듈
│ ├── auth/ # 인증/인가 서비스 (Port: 8081)
│ └── queue/ # 대기열 관리 서비스 (Port: 8082)
├── infra/ # 인프라 관련 코드
├── .github/workflows/ # CI/CD 파이프라인
└── .env.example # 환경변수 예시
- Language: Kotlin
- Framework: Spring Boot 3.4.1
- JDK: OpenJDK 21
- Database: MySQL 8.0 (RDS)
- Cache: Redis
- Message Queue: Apache Kafka
- Architecture: 4계층 아키텍처 (Application, Business, Implement, Storage)
| 서비스 | 포트 | 설명 |
|---|---|---|
| Auth Service | 8081 | 인증/인가 |
| Queue Service | 8082 | 대기열 관리 |
GET /auth/**→ Auth Service로 라우팅GET /queue/**→ Queue Service로 라우팅
- H2 인메모리 데이터베이스 사용
- 로컬 Kafka, Redis 사용
- MySQL RDS 사용
- 실제 Kafka, Redis 클러스터 사용
- 해당 서비스의 4계층 구조에 맞게 개발
- 공통 기능은
services/common모듈에 추가 - 서비스간 통신은 Kafka 이벤트 사용
- API 변경 시 API Gateway 라우팅 설정 업데이트
./gradlew test./gradlew :services-{service-name}:build