Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Akka remote actor server discovery

I would like to deploy a remote actors software made with akka on a cluster. The system is composed of several worker nodes and a single master node. The problem is that I cannot know in advance the IP address of the cluster nodes (but I know they are all part of the same subnetwork). So, I need a nice way of discovering the IP address of everyone after startup, to create the correct actor refs on each node.

I am looking for a ligtweight solution (I just need it for the initial setup) distributed under any free software license.

like image 642
paradigmatic Avatar asked Jun 10 '11 11:06

paradigmatic


1 Answers

A while ago I created a prototype that's intended to solve your problem (feel free to reuse the code and/or contribute).

A few words on how does it work. It starts a remote actor for each actor registry (=node). RegistryActor holds links to all the other registries running in a distributed setup. When a new node is added to the system, it needs to know about at least one other node (ActorRegistry) and notify it. ActorRegistry than lets all other nodes know about the new one (thus, any RegistryActor has links to all other RegistryActor's), and starts a process of exchanging links to actors - at the end of it, all the actor registries have links to all actors (either local or remote) running in a system.

For more details, please refer this blogpost.

like image 124
Vasil Remeniuk Avatar answered Oct 31 '22 03:10

Vasil Remeniuk