목차
Akka 를 JAVA에서 사용하는것은
몇가지 언어적인 사용법의 차이이며, Actor 를 이용하는 방식은
SCALA/JAVA/.NET 와 유사합니다.
여기서는 JAVA 버젼으로 ACTOR를 이용하는 방식을 설명하고
외부 메시징 시스템과 어떻게 자연스럽게 상호연동을 할수 있는가 를 살펴보겠습니다.
src : http://git.webnori.com/projects/WEBF/repos/spring_cachedb/browse
AKKA - Fast Data Architecture
- 최근 서비스에 생산되는 메시지들을 바로 소비하여 분석에 용이한 데이터로 정제하는 방식으로 가고있음( 긴 주기의 배치선호되지 않음 )
- Akka Stream 은 Spark또는 Kafka와 실시간 연동처리에대한 고민을 많이하고 자료가 많음,궁극적으로 ReactiveStream이라는 표준인터페이스를 모두 준수
- Spark와 AKKA는 각각 Scala 함수형언어의 장점을 살린 빅데이터분석기,대용량 분산처리 메시징시스템이라고 간단하게 정의하겠습니다. 몇가지 장점은 사라지지만 이것은 JAVA에서도 활용가능합니다.
AKKA를 범용적으로 사용하기
AKKA는 웹플랫폼 종속적인 툴이 아니고 태생적으로 메시지처리의 상호연동을 위한 메시지 플랫폼으로, 조금더 폭넓게 사용하기위해 범용적인 아키텍쳐 구성으로 시도해보겠습니다.
- SCALA → JAVA ( SCALA의 이점이 있지만 JAVA 코드 범용성을 무시할순없습니다. )
- PLAY → SPRING ( 모던웹으로 PLAY도 휼륭하나, SPRING의 범용성 )
- LAGOM → SPRING BOOT ( 마이크로서비스를 실현하기위한 선택지는 많으나, 역시 범용성)
- SBT,GRADLE → MAVEN ( 메이븐의 단점이 많이부각되어 GRADLE 를 사용하고 싶지만 역시 범용성 )
- SPARK,KAFKA,기타등등 ( AKKA STREAMS 을 통해 외부 리액티브 서비스와 상호운영하는방법 )
