I have got a native image processing application that can enhance photos(peApp). Now, I want to serve this functionality to the world by having a server application that supports REST. Now while taking the scalability into account, I think I better seperate this project into 3 components:
- peApp : does only his computationally intensive job (may use GPU)
- zeroMQ(or another mq) : a message queue application that can organize request
- node.js & express based web service(or maybe a native app) : provides REST and puts requests into message queue.
Now my questions are:
- Are those TYPE of components the right choice? (I'm not asking if I should use zeroMQ, I'm asking if using a message queue application is sound)
- In terms of scalability, will I eventually need a middleware?
- What are the best practices about such systems? (a heavy duty app and serving it)
- How can I achieve a bidirectional communication/notification?