Hi Geoff,

Akka does not have an autodiscovery feature, but you can implement such a
service yourself as Akka Clustering allows for programmatic joining, where
you can pass an arbitrary list of nodes as argument:

"You may also use Cluster(system).joinSeedNodes to join programmatically,
which is attractive when dynamically discovering other nodes at startup by
using some external tool or API. When using joinSeedNodes you should not
include the node itself except for the node that is supposed to be the
first seed node, and that should be placed first in parameter to
joinSeedNodes."

(
http://doc.akka.io/docs/akka/2.3.13/scala/cluster-usage.html#Joining_to_Seed_Nodes
)

Sinca Akka is a library, you can easily integrate with any technology you
would like to use (for example UDP multicast groups) for autodiscovery.


I was thinking about using JGroups as an initial strategy to collect the
> seed node and worker node IP's for akka's configuration, then starting
> akka. Does this sound sane?
>

Yes, that can work. The only thing that can bite you is that in the list of
seed nodes the first entry serves a special role during the startup of the
cluster (i.e. when there is not yet an existing cluster). You should make
sure that during bootstrap all the nodes see the same entry as the first
node in this list. Once the cluster is running (i.e. bootstrap finished and
there is at least one surviving member is left) this is no longer needed,
this is only for the initial formation.

-Endre


>
> I should mention that we're also fumbling with JPPF in an attempt to get
> the same thing to happen. Progress is slow on that front, and I'd really
> like to be able to show off a nifty piece of scala that does almost the
> same thing with 10x less code, but I need some way of discovering workers &
> drivers without knowing their IP addresses.
>

Technically, you don't need to know the IP address of all nodes, you only
need a small subset that can "introduce" new members to the "club", i.e.
initial contact points (just like any P2P networks needs these). Akka does
not assume the existence of a local broadcast/multicast region therefore it
needs these initial contact points. If you can assume that you have UDP
multicast available locally, then you can use this extra information and
feed Akka with the discovered node list.

-Endre


>
> thanks for any help!
>
> -Geoff
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ:
> http://doc.akka.io/docs/akka/current/additional/faq.html
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Akka Team
Typesafe - Reactive apps on the JVM
Blog: letitcrash.com
Twitter: @akkateam

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to