Akka Cluster Seed Node
- akka cluster로 join하기 위한 node, akka cluster node 중에 아무 노드의 주소를 사용하면 akka cluster에 join을 할수 있다.
- akka cluster의 진입점이라고 생각을 하면 된다.
- akka seed node로 사용하는 node가 모두 running 상태일 필요는 없다.
- seed node 중 첫번쨰 seed node가 중요하다. Akka Cluster가 처음 시작될때에는 첫번째 seed node는 작동되고 있는 (started) node의 주소로 할당을 한다. 시작하는 Node와 첫번째 seed node가 같을 경우 Akka Cluster가 새롭게 생긴다.
- cluster가 분리되는 현상이 나타날수 있기 때문에 seed node를 잘 활용해야 된다.
- Seed Node Discovery로 DNS을 이용하여 사용할수 있다.
How to join to seed nodes
Application.conf
akka.cluster.seed-nodes = [
"akka.tcp://ClusterSystem@host1:2552",
"akka.tcp://ClusterSystem@host2:2552"]
JVM Options
-Dakka.cluster.seed-nodes.0=akka.tcp://ClusterSystem@host1:2552
-Dakka.cluster.seed-nodes.1=akka.tcp://ClusterSystem@host2:2552
Programatically joining to seed nodes
import akka.actor.Address;
import akka.cluster.Cluster;
final Cluster cluster = Cluster.get(system);
List<Address> list = new LinkedList<>(); //replace this with your method to dynamically get seed nodes
cluster.joinSeedNodes(list);
Reference
'Programing > Akka' 카테고리의 다른 글
Akka Distributed Publish Subscribe in Cluster #2.Send (0) | 2018.09.11 |
---|---|
Actor Selection을 통한 Actor 찾기 (Identifying Actors via Actor Selection) (0) | 2018.09.02 |
Akka Management (0) | 2018.08.21 |
Akka Scheduler (0) | 2018.08.21 |
Akka Stream Asynchronous operators (0) | 2018.08.17 |