CARO는 리뷰와 채팅 기능, 그리고 AI 기반 분석·생성을 지원하는 명함 서비스입니다. 이에 따라 대규모 트래픽 처리, 채팅을 위한 실시간성 확보, 그리고 응답 시간이 긴 AI API를 비동기적으로 처리할 수 있는 기술이 필요했습니다. 이러한 요구사항을 고려해 해당 기술 스택을 선정했습니다.

기술 스택 개요

구분 선정 기술
언어 Java 21
프레임워크 Spring Boot 3.5
DB MySQL
캐싱, 인메모리 DB Redis
메시징 시스템 Kafka (도입 예정)

Java 21

주요 특징

[VIrtual Thread]

Java 21부터 정식으로 지원하는 Virtual Thread는 초경량 스레드로,운영체제가 아닌 JVM이 직접 관리합니다.

기존의 플랫폼 스레드는 OS 스레드와 1:1로 매핑되 생성 비용과 메모리 사용량이 크다는 제약이 있었습니다.이로 인해 고동시성 환경에서는 Thread Pool 크기 조정, Queue 관리등 동시성 제어 로직을 개발자가 직접 설계하고 튜닝해야 했습니다.

하지만 Virtual Thread가 도입되면서 스레드 생성 비용이 크게 감소하고, 블로킹 I/O 상황에서도 스레드 자원을 효율적으로 재사용할 수 있게 됐습니다.

그렇기에 수많은 사용자들의 명함 읽기 요청, 생성 요청을 병렬적으로 처리할 수 있을 것이라 판단하고 Java 21을 채택하게 되었습니다.