Akka는 오픈 소스 툴킷으로, JVM(SCALA,JAVA) 에서 동시성및 분산 처리를 단순화하는 런타임(툴킷)이다.
.Net 버전으로 포팅된것이 Akka.net 이며, MS는 이러한 컨셉을 다시 재창조하여  Orleans 으로 정립을 하였습니다.

이 공간은 닷넷 Core Api 3.x 에서 Akka를 활용하는 다양한 변종 실험을 하는 공간입니다.

참고 Links :


AKKA를 이해하기 위한 사전 요구 지식



목차및 Preview



기원

통신 이론(Communication theory)은 통신을 효율적 하는 방법에 관한 이론이다. 정보를 오류없이 전송하는 것이 목적이다.

언랭의 이름은 통신이론을 연구하는 덴마크 수학자 "Agner Krarup Erlang" 에서 따온것이다.

언랭에 적용된 통신이론은 구체화되고 성공을 거두었으며( 병행성 처리를 함수형 패러다임을 성공시킨것 포함)

AKKA를 비롯하여,Kafka의 핵심인 Message Deivery Once에도 영향을 주었다고 볼수 있습니다. 

Akka VS Orleans


두 스펙은 거의 유사하다고 볼수 있으며 여기서 소개되는 기능(툴)에대한 것들은, 해당 툴킷에서 먼저 고안이 된것은 아니며

다양한 이론(언랭,이벤트중심설계,도메인주도설계,마이크로서비스설계등)의 영향을 받아

모던한 메시징 시스템이 필요한 컨셉을 지속적으로 개선하고 추가하고 있으며

개발자가 직접 그것을 활용하여 단순하게 구현할수 있는 툴킷을 제공 해줍니다.

Lightbend(구.TypeSafe)라는 회사에의해

Scala,Akka등이개발되고 유지되고 있습니다.

제공되는 컨셉이 유사하며,라이브러리가 제공하는 컨셉과는 별개로

오늘날 분산 처리 컴퓨팅에서 해결해야할 문제가 유사함을 알수있습니다.


공통된 주제가, 메시지를 전송보장을 위해 어떻게 영속화 할것인가? ( Persistence )

전통적인 CRUD 를 탈피하여 이벤트 소싱 또는 CQRS를 사용할것인가? 

MSA에서 필요로하는 자체 메시징 시스템과, 도메인 주도 설계(DDD)에서 이야기하는 여러가지 작동가능한 구현체에 대해 살펴볼수 있습니다.

구현체없이 아키텍트만 난무하는 클라우드 시대에 아키텍쳐 능력을 끌어올리는데 도움 될수 있습니다.

이것은 꼭 AKKA가 아니여도 됩니다.  CLOUD-SASS를 이용하더라도 이러한 구현체에 사용되는

OpenToolKit(OpenStack) 을 통한 구현능력은 분명 영양분이 될것입니다.