Hi everyone, I'm building a system that should distribute CPU/RAM/IO intensive work between N+1 nodes.
Work comes in as Jobs from Akka HTTP endpoint. Then it gets assigned to a worker on one of the available nodes, locally or remotely, ideally in a fair manner as to not overload any node. Nodes are added and removed from cluster dynamically. Important requirements are: * nodes can get overloaded (due to intensity of work), that's why there should be a limit of workers per node, either self-adjusting or manual * Akka HTTP endpoint should never block the clients, even if all the workers are busy. It should accept the Job and queue it for later processing. * nice to have: persisting of the Jobs that are in queue so that JVM restarts do not reset the queue. I would appreciate any help or advice. I've been battling this for a few days, but things I do either block the endpoint overload the nodes or not spread the work throughout the cluster. I'd love a clean slate advice on how this should be done the Akka way. Thank you! Best regards, Dima -- >>>>>>>>>> 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 https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
