Hello guys,
I have a use case that is somewhat unique for akka-cluster that I'm trying
to get to work. Hopefully someone can point out what I'm doing wrong.
In my clustered app, an actor called an Orchestrator is started many times,
once per running member node. These orchestrators are subscribed to member
events like MemberUp. My intention is to have the orchestrator communicate
peer to peer.
My problem is I can't seem to figure out how to do remote path addressing
between the peer orchestrators. Nodes are joining the cluster okay, but I
can't get the right address out of MemberUp.member().address() for one
orchestrator to exchange messages with another. For example:
if (message instanceof ClusterEvent.MemberUp){
> ClusterEvent.MemberUp mUp = (ClusterEvent.MemberUp) message;
> Boolean isSelf =
> mUp.member().address().hostPort().equals(cluster.selfAddress().hostPort());
> String path = mUp.member().uniqueAddress().address().toString();
> String salt = Integer.toString(mUp.member().uniqueAddress().uid());
> context().actorSelection(path + "/orchestrator").tell(new
> Messages.AreYouAlive(), getSelf());
> }
Using this code in the orchestrator actor seems to result in all
AreYouAlive messages to be delivered to deadletters. The peers are
definitely connected (I can see the Leader logs moving the to up.)
I noticed that the dead letters delivery shows a mixture of remote
(akka.tcp) and local (akka://) paths:
Message [AreYouAlive] from
> Actor[akka://actor-system/user/orchestrator#296853392] to
> Actor[akka://actor-system/orchestrator] was not delivered.
>
Is there any way to address between identical actor instances in a peer
cluster like this? I've tried mixing out the UID from the UniqueAddress
enclosed in MemberUp, but that doesn't seem to match the numbers appended
to the address.
Thanks!
Mark
--
>>>>>>>>>> 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.