Hi, I've been playing around with Akka for a bit in order to see if it will be a good fit for my project. I have some basic concerns before I get going and I was just wondering if anyone here had already done something similar or if you could point me in the right direction. So on to the project:
Assume that I have access to a large number of devices. These devices all vary in capabilities and they are spread over a large area. Basically I want to implement a CEP system that can run on these devices. A user would request for my system to execute a task-graph. Lets say that the user actually supplies us with a bunch of actors that will communicate with each other and would run in a distributed manner on the different devices. When this graph has been given to us, some actors will have a specific device that they need to run on due to some hardware capability, for example a sensor or an actuator. The other actors would need to be deployed onto nearby devices. It would also be necessary to reconfigure this on-the-fly, so that I can move an actor between two devices without interrupting the execution of the task. Possibly also replicate an actor on another device. Now on to the questions: I would need the actors to be oblivious to the fact that I have replicated other actors or if they are moved to another location(device). What is the best option here when it comes to sending messages? * Should I use a router between each actor pair? * Should I use a pub/sub system for each communication link pair? * Should I use a balancing dispatcher for each pair? * Should I use cluster sharding and does that work when I am sending messages between different types of actors? When moving an actor with a state I think I might try to use snapshots rather than persisting the state after each message and just start a new actor based on that snapshot. I haven't tried this yet but from reading the documentation it seemed pretty straight-forward. Are there any obvious faults in an approach like this that I fail to see? If the runtime on a remote device does not have a specific actor class is there a way for me to send a jar file or some other way to send code so that it can be dynamically loaded? Regards, Andreas -- >>>>>>>>>> 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.
