Categories: Camel프레임워크

[Camel in Action] 17-1. Camel Quarkus로 네이티브 컴파일 – 초고속 시작과 저메모리

Camel Quarkus란?

Quarkus는 Kubernetes-native Java 프레임워크입니다. GraalVM 네이티브 이미지 컴파일을 통해 JVM 없이 실행 가능한 바이너리를 만들 수 있습니다. Camel Quarkus는 Apache Camel을 Quarkus 위에서 실행하도록 최적화한 프로젝트입니다.

기존 Spring Boot Camel vs Camel Quarkus

  • Spring Boot Camel: 시작 시간 3-10초, 메모리 200-500MB, JVM 필요
  • Camel Quarkus 네이티브: 시작 시간 0.05초, 메모리 30-80MB, JVM 불필요

서버리스 환경이나 대규모 마이크로서비스에서 콜드 스타트 시간과 메모리 비용이 크게 줄어듭니다.

Camel Quarkus 프로젝트 시작

# Maven으로 Camel Quarkus 프로젝트 생성
mvn io.quarkus.platform:quarkus-maven-plugin:create   -DprojectGroupId=com.example   -DprojectArtifactId=camel-quarkus-demo   -Dextensions="camel-quarkus-core,camel-quarkus-http,camel-quarkus-jackson"

# pom.xml 의존성
<dependency>
  <groupId>org.apache.camel.quarkus</groupId>
  <artifactId>camel-quarkus-core</artifactId>
</dependency>

라우트 작성 – Spring Boot와 거의 동일

@ApplicationScoped
public class MyRoutes extends RouteBuilder {
  @Override
  public void configure() throws Exception {
    from("timer:hello?period=5000")
      .setBody(simple("현재 시간: ${date:now:HH:mm:ss}"))
      .to("log:output");

    rest("/api")
      .get("/status")
        .produces("application/json")
      .to("direct:getStatus");

    from("direct:getStatus")
      .setBody(constant("{"status": "running"}"));
  }
}

네이티브 이미지 빌드

# JVM 모드로 실행 (개발 중)
./mvnw quarkus:dev

# 네이티브 이미지 빌드 (GraalVM 필요)
./mvnw package -Pnative

# 또는 Docker 컨테이너 빌드 (로컬에 GraalVM 없어도 됨)
./mvnw package -Pnative -Dquarkus.native.container-build=true

# 결과: target/camel-quarkus-demo-runner (실행 가능 바이너리)
./target/camel-quarkus-demo-runner

주의사항 – 네이티브 컴파일 제약

GraalVM 네이티브 이미지는 Java 리플렉션을 제한적으로 지원합니다. Camel Quarkus 익스텐션이 각 컴포넌트에 필요한 리플렉션 설정을 자동으로 처리해 줍니다. 하지만 커스텀 코드에서 리플렉션을 사용한다면 별도 설정이 필요합니다.

// resources/reflect-config.json
[
  {
    "name": "com.example.MyCustomClass",
    "allDeclaredMethods": true,
    "allDeclaredFields": true
  }
]

zerg96

Recent Posts

재택근무 종말이 온다? AI 감시 소프트웨어가 사무실을 부활시키는 진짜 이유

AI 감시 소프트웨어가 재택근무 시대를 끝내고 있다. 직원의 키스트로크·화면·표정까지 추적하는 기술의 실체와, 한국 직장인이 알아야…

2시간 ago

정보보안기사 실기 합격을 가르는 10문제, 로그 분석부터 RSA 계산까지 풀이 포함

정보보안기사 실기는 개념을 아는 것보다 로그를 읽고, 규칙을 쓰고, 계산하는 힘에서 점수가 갈립니다. 이번 글은…

3시간 ago

호르무즈에서 2주간 선박 24척 피격, 원유 수송은 전쟁 전보다 43% 줄었다

호르무즈 해협 뉴스는 이제 '또 공격이 있었다'보다 '얼마나 늘었나'를 봐야 합니다. 이투데이가 FT와 영국해사무역기구(UKMTO) 등을…

3시간 ago

추석 연휴에 뚫린 은행들, 해외 법인 보안망까지 다시 짜는 이유

이번 추석 연휴, 은행들은 쉬지 못했습니다. 연휴 기간 금융권에서 대규모 개인정보 유출 사고가 터졌기 때문입니다.…

6시간 ago

서울 집값은 11% 올랐는데 거래는 17% 줄었다, 토허제 1년의 역설

"집 못 팔게 막으면 값이 내려가겠지." 서울 전역이 토지거래허가구역으로 묶이던 1년 전, 이런 기대가 있었습니다.…

6시간 ago

코스피 5연속 급락 뒤 2% 반등, 외국인·기관이 받쳤고 코스닥은 제자리

다섯 거래일 연속 밀린 코스피가 오늘 아침 크게 반등했습니다. 오전 9시 12분 기준 6,165.02로 전…

6시간 ago