Versions Compared

Key

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

...

예제는 동일한 방식으로, 설정파일을 통해 ( http://getakka.net/articles/concepts/configuration.html )

라운드로빈 라우터를 설정한 모습입니다.


Code Block
languagec#
themeEmacs
title설정파일
linenumberstrue
akka.actor.deployment {
  /workers {
    router = round-robin-pool
    nr-of-instances = 5
  }
}

설정파일에서, 라운드로빈을 이용해서 처리할 Job 개수를 설정합니다.



Code Block
languagec#
themeEmacs
title실행코드
linenumberstrue
var props = Props.Create<Worker>().WithRouter(FromConfig.Instance);
var actor = system.ActorOf(props, "workers");

실제 라우팅기능을 하는 Actor를 , 설정파일에서 설정한 룰대로 생성이되고 작동이됩니다.


아래는 개수를 통해 자동생성이아닌, 명시적인 라우터 이름을 설정합니다.

Code Block
languagec#
themeEmacs
linenumberstrue
akka.actor.deployment {
  /workers {
    router = round-robin-group
    routees.paths = ["/user/workers/w1", "/user/workers/w2", "/user/workers/w3"]
  }
}
Code Block
languagec#
themeEmacs
linenumberstrue
var props = Props.Create<Worker>().WithRouter(FromConfig.Instance);
var actor = system.ActorOf(props, "workers");


Pools VS Groups

Pools : 라우터에게 생성할 인스턴수수만 제공하면 라우터 생성을 처리합니다. ( 경로지정 없음)

Group : 라우터 구성경로를 직접 지정하여 그룹화를 합니다.  (인스턴수 지정없음)