Page History
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
public void ClusterUpSeedNode() { var baseConfig = ConfigurationFactory.ParseString(@"akka { actor{ provider = ""Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"" deployment { /myClusterPoolRouter { routees.paths = [""/user/myClusterPoolRouter""] router = round-robin-pool # routing strategy nr-of-instances = 10 # max number of total routees cluster { enabled = on allow-local-routees = on use-role = crawler max-nr-of-instances-per-node = 1 } } } } remote { helios.tcp { port = 9999 #bound#테스트를 위해 to시드노드의 a포트를 specific9999로 port고정하였습니다. hostname = 127.0.0.1 } } cluster { seed-nodes = [""akka.tcp://ClusterSystem@127.0.0.1:9999""] # address of seed node시드노드의 주소는 알필요가 있으며,자신의 주소와 동일할시 시드+롤 두가지 역할을 합니다. roles = [""crawler""] # roles자신의 this역활의 member is in이름에대해 정의합니다. #role.[""crawler""].min-nr-of-members = 3 # crawler role minimum node count } }"); actorSystem = ActorSystem.Create("ClusterSystem", baseConfig); //var clusterActor2 = actorSystem.ActorOf<EchoActor2>("myClusterPoolRouter"); var router = actorSystem.ActorOf(Props.Create<ClusterActor>().WithRouter(FromConfig.Instance), "myClusterPoolRouter"); Task.Delay(2000).Wait(); //테스트를 위해 멤버쉽의 처리가 완료되고 난 이후 메시지 처리를 진행합니다. var msg = new Hello("hi"); router.Tell(msg); router.Tell(msg); router.Tell(msg); } |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
public void ClusterUpNode() { var baseConfig = ConfigurationFactory.ParseString(@"akka { actor{ provider = ""Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"" deployment { /myClusterPoolRouter { routees.paths = [""/user/myClusterPoolRouter""] router = round-robin-pool # routing strategy nr-of-instances = 10 # max number of total routees cluster { enabled = on allow-local-routees = on use-role = crawler max-nr-of-instances-per-node = 1 #노드 하나가 가질수 있는 최고 인스턴스수입니다. 일반적으로 1을 사용합니다. } } } } remote { helios.tcp { port = 0 #bound to a specific port #테스트를 위해, 일반노드의 포트는 동적포트로 지정하였씁니다. 한장비에 여러개의 다중노드가 띄워질시 사용할수있는 전략입니다. hostname = 127.0.0.1 } } cluster { seed-nodes = [""akka.tcp://ClusterSystem@127.0.0.1:9999""] # 알려진 address시드노드를 통해 of멤버쉽 seed처리가 node됩니다. roles = [""crawler""] # roles this member is in #role.[""crawler""].min-nr-of-members = 3 # crawler role minimum node count #클러스터가 가질 최소 노드 제약수입니다. 최소조건이 만족되어야 클러스터로의 메시지가 작동됩니다. } }"); actorSystem = ActorSystem.Create("ClusterSystem", baseConfig); //var clusterActor2 = actorSystem.ActorOf<EchoActor2>("myClusterPoolRouter"); var router = actorSystem.ActorOf(Props.Create<ClusterActor>().WithRouter(FromConfig.Instance), "myClusterPoolRouter"); Task.Delay(2000).Wait(); var msg = new Hello("hi"); router.Tell(msg); router.Tell(msg); router.Tell(msg); } |
...