Versions Compared

Key

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

...

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

AKKA를 

...

대용량 처리를 위해 선택한 이유?

...

Akka - 위키백과

Akka는 오픈 소스 툴킷으로, JVM 상의 동시성과 분산 애플리케이션을 단순화하는 런타임이다. Akka는 동시성을 위한 여러 프로그래밍 모델을 지원하지만, Erlang으로부터 영향을 받아 actor 기반의 동시성이 두드러진다.

자바 스칼라 언어 모두로 작성이 가능하다. Akka는 스칼라 2.10로 작성되었으며, 스칼라 2.10의 Akka의 actor 구현은 스칼라 표준 라이브러리에 포함되어있다.[1]


성능이 높고 반응성이 높으며 가용성 있는 좋은 서비스를 운영하기 위해, 분산처리도 중요하지만 단일장비 자체의 성능을 올리는것도 중요합니다.

...

동시성 처리및 병렬처리

동시성과 병렬성은 약간의 차이가 있지만, 다음과 같이 간략하게 설명될수 있습니다.

  • 동시성 : 한사람이 커피주문 받고 만들기를 동시에한다. ( 커피머신을 이용하면서도 주문을 받음)
  • 병렬성 : 커피주문을 받는사람과 만드는 사람이 각각 따로 있다. 
  • 순차성 : 한사람이 커피주문을 받고 커피를 만들지만~ 커피가 완성될때까지 다음손님 주문을 받지 못한다.


일반적으로 작업의 최대 효율을 높이기 위해 동시성과 병렬성을 함께 고려해야 하며 병렬성에서는 커피주문 접수받는것 자체가 밀리게 되면, 그동안 커피만드는 사람이 놀수 있는 문제가 있으며

...

작업효율을 높이기위해 병렬+비동기처리 프로그래밍의 난이도가 높아지며 결정적으로 암달의 법칙에 의해 작업자를 늘린다고 작업효율이 높아지기 어렵습니다.


우리가 가진 비싼장비 보유하고 있는 장비 성능대비 50%이상을 활용하기 어렵습니다.   어려울수 있습니다.

  • 100km의 속도를 낼수 있지만, 항상 30km만을 달리는 자동차
  • 30km의 속도만을 내는데~ RPM이 100%인 자동차


암달의 법칙

병렬 컴퓨팅에서 멀티 프로세서를 사용할 때 프로그램의 성능향상은 프로그램의 순차적인 부분에 의해 제한된다. 예를 들면, 프로그램의 95%가 병렬화 할 수 있다면 이론적인 최대 성능 향상은 아무리 많은 프로세서를 사용하더라도 최대 20배로 제한된다.

...