AKKA.net 을 문서화중에 있으며, 주로 C# 위주의 샘플코드로 진행이되나
분산환경에서의 동시성 처리에대한 개발모델은 오리지널 AKKA와 동일합니다.
*ACTOR : 여러가지 개발 플래폼에서 도입 하기 시작하였으며, 분산 미들웨어에서 수많은 일을 하기위한, 능동적 메시지 객체
Akka
- Akka는 오픈 소스 툴킷으로 동시성과 분산 애플리케이션을 단순화하는 런타임이다.
- 동시성을 위한 여러 프로그래밍 모델을 지원하며, Erlang으로부터 영향을 받아 actor기반의 동시성이 두드러진다.
- Akka는 Java환경및 .net Framework에서 이용가능하며, Actor모델은 이제 대부분의 개발플래폼에서 라이브러리릍 통해 사용가능합니다.
AKKA에서 내세우는 강점
시스템
액터와 스트림을 사용하면 여러 서버에서 효율적으로 리소스를 사용하여
확장하고 확장하는 시스템을 구축 할 수 있는 개발 모델지원
디자인에 의한 유여한 대처
장애가 발생할 경우,자가 치유되고 응답 성을 유지하는 시스템을 작성할 수 있는
개발 모델을 제시해줍니다.
Resilient : 탄력적인 , 유연한
고성능
단일 기계에서 최대 초당 5 천만 메시지 처리 가능하며
메모리 힙 GB 당 250 만명의 액터생성가능합니다.
탄성및 분산
단일 실패 지점이없는 분산 시스템. 로드 밸런싱 및 라우팅 노드. 클러스터 소싱을 사용한 이벤트 소싱 및
CQRS CRDT를 사용한 최종 일관성을위한 분산 데이터 프로그래밍 모델지원
반응형 스트리밍 데이터
성능에 있어서 역압력장치(backpressure) 사용으로, 비동기 비 차단 스트림을 모두 처리하려고함.
완전 비동기 및 스트리밍 HTTP 서버 및 클라이언트에서
마이크로 서비스를 구축하기위한 훌륭한 플랫폼을 제공합니다.
AKKA-Training에서 샘플코드 기능검증과 활용안을 준비중에있습니다.
키워드로 살펴본 AKKA가 가진 스택범위
분산처리관련 동일한 목표를 가진 녀석들
액터모델을 도입한 개발 툴킷들
Akka : http://akka.io/ -Akka (Scala및 Java에서 사용가능)
Akka.net : http://getakka.net/ ( JVM버젼을 닷넷 변환버젼)
Erlang : http://erlang.org/doc/getting_started/conc_prog.html - Actor의 원조
Orleans : https://dotnet.github.io/orleans/ - MS에서도 Actor모델을 도입
TypeSafe CoduntR : https://www.lightbend.com/products/reactive-platform (종합선물 셋트)
그외 기타 정보
액터도입현황 : https://en.wikipedia.org/wiki/Actor_model#Actor_libraries_and_frameworks
국내도서 추천 : Akka 코딩 공작소