프로젝트 소개

Micronaut Framework 기반 서버리스 API입니다. USD/KRW 환율과 한국 주식 시세를 제공합니다.

Live: serveless.lemuel.co.kr

왜 Micronaut?

  Spring Boot Micronaut
시작 시간 ~2초 ~0.5초
메모리 ~200MB ~80MB
GraalVM 설정 복잡 네이티브 지원
Lambda 콜드 스타트 느림 콜드 스타트 빠름

서버리스 환경에서는 콜드 스타트가 핵심이므로 Micronaut이 유리합니다.

API 엔드포인트

GET /api/exchange-rates     → USD 기준 환율 (KRW, JPY, EUR + 교차환율)
GET /api/stocks?symbol=005930  → 한국 주식 시세
GET /                       → API 문서

핵심 구현

@Controller("/api/exchange-rates")
public class ExchangeRateController {
    
    @Get
    public ExchangeRateResponse getRates() {
        return service.getUsdBasedRates();  // Caffeine 5분 캐시
    }
}

@Client("https://open.er-api.com")
public interface ExchangeRateClient {
    @Get("/v6/latest/{base}")
    Map<String, Object> getLatest(@PathVariable String base);
}

기술 스택

Micronaut 4.7 / Java 25 / Caffeine Cache / AWS Lambda (SAM)