반응형
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 |