Versions Compared

Key

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

...

Code Block
themeEmacs
var router = AkkaSystem.ActorOf(Props.Empty.WithRouter(new RandomGroup(workActors)), "roundRobinGroup");
==>
var router = AkkaSystem.ActorOf(Props.Empty.WithRouter(new RandomGroup(workActors)), "randomGroup");


지금까지 작동코드를 AKKA없이 작동시켜야한다고 하면 다음과같은 방식을 선택할수 있으나, 

  • 지금까지의 코드를 큐와/스레드없이 구현한다고하면

...

  • sleep을 사용해서 램프의 속도와 타이밍을 맞추어야합니다.  구현난이도는 감소할수있지만 스레드를 차단함으로 성능을 크게 희생해야합니다.

...

  • 큐와/스레드를 직접구현한다고하면, 난이도가 높은 부자연스러운 코드가 많이 작성될것입니다. 구현난이도는 증가하며 성능과 안전성은 작성자의 수준에 따라 편차가 있을수 있습니다.

작동연상 - 랜덤

View file
nameakkauni-random.mp4
height250

...

몇가지 유용한 고급 제공되는 라우터를 알아보겠습니다.

ConsistentHashing

라우팅방식 : 데이터의 헤더값을 해시값으로 분석해, 특정 데이터가 고정된 노드에게 유도될수 있게 보장분배처리를 합니다.

로컬캐시는 일반적으로, 네트워크 중앙집중 캐시보다 빠르며, X라는 특정 사용자의 상태를 로컬자체에서 처리할때 활용될수 있습니다.



SmallestMailbox

라운드로빈은 Task작업완료시간이 동일한 경우, 유용할수 있으나 Task의 완료시간은 동일하지 않은 경우가 더 많습니다.

덜바쁜 라우티에게 우선분배가되어 전체적인 밸런스를 유지할수있을때 유용할수 있습니다.

TailChopping

다양한 원인으로 불특정노드만 일시적으로 느려지는 경우가 있습니다. 이 경우 활용될수 있으며

...