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.

Reply via email to