| 분류 | 기술 스택 | 상세 바로가기 |
|---|---|---|
| Language | Java 21 | 선정 이유 상세 |
| Framework | Spring framework 6.2.6 + Spring Boot 3.4.5 | 선정 이유 상세 |
| 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 | 선정 이유 상세 |
| Auth & Security | Spring Security + JWT (jjwt) | 선정 이유 상세 |
| Monitoring | Spring Boot Actuator + Prometheus + Grafana | 선정 이유 상세 |
| Test | JUnit5 + Spring Boot Starter Test + Mockito + H2 | 선정 이유 상세 |
| Library | 공통 사항 | 선정 이유 상세 |
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
🔥 (그림 이해 정리)
여러 Virtual Thread들이 하나의 Platform Thread를 "필요할 때만" 잠시 빌려 쓴다.
blocking 작업 중에는 OS Thread를 반납하고, 효율적으로 관리된다.