Hi! First of all: I'm new to akka. I'm trying to implement the following system using akka-cluster:
*Node1(role="master")* /user/master <- instanceof MasterActor *Node2(role="service")* /user/service <- instanceof ServiceManager which instantiates the ServiceTypeManger for a given service type (or use an existing one -> actorref is stored in a hashmap). /user/service/*testtype*/ <- instanceof ServiceTypeManagerActor which instantiates local services after receiving a StartupService message and stores them in a hashmap and redirects jobs from master to local services. /user/service/*testtype*/service1 <- instanceof Service (kind of worker) /user/service/*testtype*/service2 ... /user/service/*anotherservicetype* /user/service/*anotherservicetype*/service1 ... *Node3(role="service")* /user/service/*testtype*/ /user/service/*testtype*/service1 /user/service/*testtype*/service2 /user/service/*testtype*/service3 ... The MasterActor can receive Jobs from an extern interface. These jobs should be routed through an AdaptiveLoadBalancingGroup to a "service"-role node with the lowest load: *MasterActor onReceive (if message instanceof Job):* Iterable<String> routeesPaths = Collections.singletonList( "/user/service/myservicetype"); AdaptiveLoadBalancingGroup routerGroup = new AdaptiveLoadBalancingGroup( MixMetricsSelector.getInstance(), routeesPaths); ClusterRouterGroupSettings settings = new ClusterRouterGroupSettings(100, routeesPaths, true, "service"); ClusterRouterGroup group = new ClusterRouterGroup(routerGroup, settings); ActorRef clusterRouter = getContext().actorOf(group.props(), "myservicetype-router"); clusterRouter.tell(job, getSelf()); And it works fine, for at least 1/3 of the jobs. The rest of the jobs is not delievered. If a message is not delivered the following log message appears: [INFO] [08/06/2014 18:06:40.824] [MySys-akka.actor.default-dispatcher-15] [akka://MySys/user/service/testtype] Message [example.Job] from Actor[akka://MySys/user/masterr#-2096779849] to Actor[akka://MySys/user/service/testtype] was not delivered. Do you have any helpful hint? Do I use actors the wrong way? I've read before, that dead letters appears using the remote function if the actor is not reachable. But why should my ServiceTypeManager actor not be reachable? I've never worked with this actor pattern before so please be considerate. Greetings Flori -- >>>>>>>>>> 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.
