-
Notifications
You must be signed in to change notification settings - Fork 0
tech stack Tech Stack
Kimgyuilli edited this page Jan 15, 2026
·
3 revisions
- JDK: Temurin 21
- 빌드 도구: Gradle
- 최신 기능 지원: 레코드, 패턴 매칭, 가상 스레드 등 최신 Java 기능 활용
- 성능 향상: 최신 JDK의 성능 최적화 및 메모리 관리 개선
- 장기 지원(LTS): 안정적인 운영 환경 제공
- 미래 대비: Spring Boot 4.x 이상에서 Java 21을 기본 지원하므로, 향후 기술 변화에 유연하게 대응 가능
주요 스타터 모듈:
-
spring-boot-starter-web: RESTful API 개발 -
spring-boot-starter-data-jpa: ORM 및 데이터 영속성 -
spring-boot-starter-validation: 데이터 검증 -
spring-boot-starter-actuator: 애플리케이션 모니터링 및 헬스체크
- 안정성: Spring Boot 4에 비해 충분히 검증된 안정화 버전
- 호환성: Spring AI와의 호환성 이슈가 없음
- 리스크 최소화: 프로덕션 환경에서 검증된 버전 사용
운영 환경 메인 데이터베이스
- 확장성: pgvector 등 벡터 검색 확장 기능으로 AI 챗봇 도입 시 유리
- 성능: 복잡한 쿼리 처리 및 대용량 데이터 관리에 최적화
- 생태계: 풍부한 관리 도구 및 커뮤니티 지원
테스트 환경 인메모리 데이터베이스
타입 안전 동적 쿼리 생성
- 타입 안전성: 컴파일 타임에 쿼리 오류 감지
- 가독성: 메서드 체이닝을 통한 직관적인 쿼리 작성
- 동적 쿼리: 조건에 따른 유연한 쿼리 구성
OpenAI GPT 모델 연동
- Spring 생태계 통합: Spring Boot와 자연스러운 통합
- 추상화: 다양한 AI 프로바이더로 쉽게 전환 가능
- 설정 간소화: application.yaml 기반 간편한 설정
| 서비스 | 용도 | 스펙 |
|---|---|---|
| VPC | 네트워크 격리 | 10.0.0.0/16, Public/Private Subnet |
| EC2 | 애플리케이션 서버 | t3.micro, Amazon Linux 2023 |
| RDS | 데이터베이스 | db.t3.micro, PostgreSQL 17 |
| ECR | 컨테이너 이미지 저장소 | cherrish-server |
| Parameter Store | 환경변수 관리 | DB 접속 정보, API Key 등 |
| IAM | 권한 관리 | EC2 Role, GitHub Actions OIDC |
| SSM | 서버 접속 및 배포 | Session Manager, Run Command |
- Jib 3.5.2: Dockerfile 없이 컨테이너 이미지 빌드
- Docker: 애플리케이션 컨테이너 실행
- Docker Compose: 로컬 개발 환경 구성
- 빠른 빌드: 레이어 캐싱으로 증분 빌드 지원
- Docker 불필요: 로컬 Docker 데몬 없이 빌드 가능
- ECR 직접 푸시: CI/CD 파이프라인 간소화
- Nginx: 리버스 프록시 (443 → 8080)
- Let's Encrypt: SSL/TLS 인증서 (자동 갱신)
- 도메인: api.cherrish.kro.kr
| 워크플로우 | 트리거 | 작업 |
|---|---|---|
| CI | PR to develop/main | 빌드, 테스트, Checkstyle, 커버리지 |
| CD | Push to develop | Jib 빌드 → ECR 푸시 → SSM 배포 |
- OIDC 인증: Access Key 없이 AWS 연동
- 자동 배포: develop 브랜치 푸시 시 자동 배포
- Discord 알림: 배포 성공/실패 알림
- JUnit Platform: 테스트 프레임워크
- Spring Boot Test: 통합 테스트
- Checkstyle 12.3.0: 코드 스타일 검사
- JaCoCo 0.8.12: 코드 커버리지 측정
- CodeRabbit: AI 기반 자동 코드 리뷰
Swagger UI 기반 API 문서 자동 생성
- Spring Boot 3.5.x 공식 권장 호환 버전
- Lombok: 보일러플레이트 코드 자동 생성
- Spring Validation: Bean Validation API 구현체
- pgvector: PostgreSQL 벡터 검색 확장 (AI 임베딩 저장)
- Redis: 캐싱 및 세션 관리
- Prometheus & Grafana: 애플리케이션 모니터링 및 메트릭 시각화
- ALB: 로드 밸런싱 및 Auto Scaling 대비