Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

루나소프트  CRM - AKKA는 루나소프트에서 대용량 메시징 처리를 부분적으로 활용하는 툴킷으로( 이상한 툴킷 (- 똑바로 읽어도 거꾸로 읽어도 AKKA입니다.)  활용편으로, 사용가능한 소스가 일부포함되어 있습니다.  

루나소프트에서는 이 기술을 어떻게 활용하는지 활용편을 소개합니다.

AKKA

...

Amdahl's LawImage Modified

Amdahl's Law :

멀티코어를 사용하는 프로그램의 속도는 프로그램 내부에 존재하는 순차적 부분이 사용하는 시간에 의해서 제한됩니다.

동시성 구현을 위해 Thread나 Task를 ExecutorService에 제출하는 코드를 구성하고, 이를 실행하면 여러개의 Thread가 동시에 작업을 합니다. 하지만 코드 중에서는 Thread나 Task를 사용하지 않는 순차적 작업을 진행하는 곳이 존재합니다. 이러한 순차적인 작업의 시간 때문에 프로그램이 낼 수 잇는 속도의 최대치는 정해집니다.


멀티스레드 프로그래밍으로 복잡한 도메인의 동시성을 처리하는데는 논리적인 한계가 있습니다. 그 복잡도가 도메인과 함께 증가하기 때문이며

이러한 문제를 해결하기 위해서 Akka는 곳곳에 존재하는 순차적인 부분을 전부 없애거나 최소한으로 만들기 위해서 사용합니다.사용되며 액터패턴을 활용하여 다음과 같이 고성능 메시지 전송 전략 툴을 제공합니다. 


서비스 소개 - 루나소프트 솔루션

...



루나코인과 무관하며, 다양하게 파트너사로 확보한 채널또는 호스팅( 카카오채널,네이버톡톡,메타,CAFE24,MakeShop ) 을 통해 E-Commerce를 위한 구축형이아닌 SaaS형태의 CRM/메시지/마케팅 솔루션을 제공하고 있습니다.

...


마무리

...

분산환경에서의 동시성 처리에대한 해결모델은 언어및 플랫폼에 종속적이지 않으며,AKKA가 아니여도 됩니다.

AKKA는단지 분산처리에있어서 필요한 기본개념을 먼저 알려주고 이벤트중심 설계를 활용한 단순화된 개발모델을 제시하며

개발자는 그것을 이용하여 응용프로그램내에 직접 작성 할수있습니다. 그 중심엔 액터가 있으며 선택가능한 수많은 스택중 하나입니다.

AKKA는 OOP에서 디자인 패턴과 함께, 다양한 메시지 전송전략및 패턴을 학습할수 있는 좋은 툴킷으로


루나소프트에서는 이 툴킷을 MSA에 전면적으로 채택하기 보다 , 부분적으로 활용하고 있습니다.