본문 바로가기
Data Platform/Akka

Akka Classic

by 태하팍 2025. 3. 25.
반응형

Akka를 학습하려고보니..버전에 따라 2가지가 있었습니다.

Akka Classic과 Akka Typed 입니다.
현재 회사에서는 Classic을 사용하고 있습니다.

참고 : https://doc.akka.io/libraries/akka-core/current/index-classic.html

  • Akka Classic은 원래의 액터 API(기존 방식)를 말합니다.
    • 즉, Akka가 처음부터 제공하던 액터 시스템 방식이 “클래식”이라고 불립니다.
  • 이 기존 API는 더 타입 안전하고, 가이드가 잘 되어 있는 새로운 액터 API로 개선되었습니다.
    • Akka Typed처럼 컴파일 타임에 타입 체크가 가능한 방식으로 발전했습니다.
  • Akka Classic도 여전히 완전히 지원되며, 기존 애플리케이션은 계속 이 클래식 API를 사용할 수 있음
    • 기존 코드가 망가지는 일은 없고, 걱정 없이 계속 쓸 수 있습니다.
  • 새로운 Actor API와 Classic Actor를 같은 ActorSystem 안에서 함께 사용하는 것도 가능!
    • 하나의 시스템 안에서 섞어서 써도 괜찮습니다.
  • 새로운 프로젝트에는 새로운 Actor API 사용을 권장합니다.
    • 지금부터 새로 만들 거라면 Akka Typed 쓰는 게 좋다는 의미입니다.
Akka는 원래 “Classic” 방식의 액터 API를 썼는데,
지금은 더 타입 안전한 Akka Typed(새로운 API) 로 발전함.
기존 방식도 지원되지만, 새 프로젝트는 Typed를 권장함.
그리고 둘을 섞어서 사용할 수도 있음.

 

 Akka Classic vs Akka Typed 

항목 Akka Classic Akka Typed (New API)
도입 시기 초창기부터 존재 Akka 2.6부터 본격 권장
타입 안정성 낮음 (런타임 오류 가능) 높음 (컴파일 타임 타입 체크) 
액터 생성 방식 Props, context.actorOf Behaviors.setup, context.spawn
메시지 타입 암시적 (Any 가능) 명시적 타입 지정 (Behavior[T]
구조 자유롭지만 덜 구조화됨 구조적이고 가이드가 많음 
DI(의존성 주입) 어렵고 코드가 복잡해짐 Behaviors.setup에서 쉽게 처리 가능 
추천 여부 기존 프로젝트 유지에만 사용 신규 프로젝트 강력 추천 
공존 가능 여부 - 가능 (Coexistence) 
문서/가이드 점점 줄어드는 중 공식 문서에서 적극 지원 
Learning Curve 진입은 쉬우나 유지보수 어려움 처음엔 낯설지만, 더 명확함
반응형

'Data Platform > Akka' 카테고리의 다른 글

Akka에서 Actor 생성 시 금지하는 방식  (0) 2025.03.27
Akka Classic 뽀개기_Overview  (0) 2025.03.26
Akka HelloWorld  (0) 2025.03.24