분류 기술 스택 상세 바로가기
Language Java 21 선정 이유 상세
Framework Spring framework 6.2.6 + Spring Boot 3.4.4 선정 이유 상세
Build Gradle (Kotlin DSL) 선정 이유 상세
Web Server Spring MVC (+ Spring WebFlux) 선정 이유 상세
**Database
ORM
DB Query 확장** **MySQL
Spring Data JPA + MyBatis
QueryDSL** 선정 이유 상세
Caching Spring Cache + Redis 선정 이유 상세
Messaging/Event Kafka + Redis Pub/Sub, Stream 선정 이유 상세
Auth & Security Spring Security + JWT (jjwt) 선정 이유 상세
Monitoring Spring Boot Actuator + Prometheus + Grafana 선정 이유 상세
search Elasticsearch 선정 이유 상세
Test JUnit5 + Spring Boot Starter Test + Mockito + H2 선정 이유 상세
Library 공통 사항 선정 이유 상세

Version

id 'io.spring.dependency-management' version '1.1.7'

으로 버전을 자동 관리해주지만, 직접 버전을 찾아 작성하였습니다.

Spring Boot 3.4.5 기준 아래의 사이트를 참고하여 버전을 가져왔습니다.

https://docs.spring.io/spring-boot/appendix/dependency-versions/coordinates.html

JAVA 21 사용


1. Virtual Threads

1.1 개념 요약

1.2 특징

🔥 (그림 이해 정리)

Screenshot 2025-04-26 at 7.57.46 PM.png

여러 Virtual Thread들이 하나의 Platform Thread를 "필요할 때만" 잠시 빌려 쓴다.

blocking 작업 중에는 OS Thread를 반납하고, 효율적으로 관리된다.


1.3 Blocking I/O 방식으로 대용량 처리 가능