I have a system which takes in a piece of input data, processes it (think a machine learning pipeline), then returns some output.
I’m thinking of putting this system in a separate module, and made accessible as an Akka actor. It will be run on its own node, with 100% of cpu / ram, etc.
It will have an akka actor which takes the input data, processes it (blocking), and sends back the result.
Then another module will run a http webserver which will take incoming reqs. Each req will result in input data being sent to the processing module, and when the output is received, it will be sent back. I’m thinking of using a non-blocking framework like vert.x for this.
My question is, will this architecture work? Since incoming reqs could be coming in faster than they get processed, could i run into a ‘mailbox full’ issue, and if so, is there a work around?