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.

Reply via email to