🏆 카카오 클라우드 스쿨 우수 프로젝트 수상
👉 본 레포지토리는 하이브리드 클라우드 아키텍처의 Service(Cloud) 단을 담당합니다.
- 사용자와 직접 연결되는 클라우드 서비스 레이어
- 필요 시 Domain(On-Prem) 서버에 쿼리 요청
- Domain으로부터 받은 데이터만 사용자에게 제공
- 클라우드 확장성 + 온프레미스 보안성 결합
[User] <----> [Service (Cloud)] <----> [Domain (On-Premise)] <----> [Local DB]
- Cloud Service: 사용자 접근성과 확장성 확보
- *Domain: DB와 클라우드 사이의 보안 게이트웨이
- Local DB: 민감 데이터 보관
- 사용자가 클라우드 서비스에 요청
GET /api/users/1- Service → Domain 요청 위임
GET http://domain-server:8081/domain/query?sql=SELECT * FROM users WHERE id=1- Domain → DB 조회 후 결과 반환
{
"id": 1,
"name": "홍길동",
"email": "[email protected]"
}- Service → 사용자 응답
{
"userId": 1,
"username": "홍길동"
}FrontEnd
Backend
git clone https://github.com/kkkwp/MusicQ-Service.git
# run backend
cd MusicQ-Service
./gradlew bootRun
# run front
cd frontend
npm install
npm run dev- 기본 포트: 8080 (Spring Boot), 3000 (React)
- Domain 서버 주소는
.env또는application.yml에서 설정
- GitHub Actions → DockerHub 이미지 빌드/배포
- ArgoCD → Manifest Repo Webhook 감지 → Kubernetes 자동 배포
👉 전체 서비스 아키텍처, Wiki, Convention 등은 팀 레포지토리참고
