I have to implement the following high-load application:
Users send images to a web-server via browsers. Server should process images and send results (several strings) to user's browsers back. Results should appear in 10 seconds and Html-UI should be resposive (non blocked) while server processing.
What do you think about the following architecture, are technologies are appropriate and solution is scalable?
- There are several web-servers (~2-4) that are ready to get user images.
- When the image is received it's deligated to one of processing-servers (there should be ~50 processing servers in local network that are not accessible from Internet)
- (a) Client starts to poll web-server if processing result is ready via ajax with interval (1000 ms.)
- (b) Client has flash/silverlight c开发者_Python百科omponent that implements duplex browser <-> web-server channel to receive results from server as soon as results are ready.
There are some vapour things in that:
- Would you personally prefer ajax polling approach or duplex communication (with flash/silverlight) in Internet environment? Or will you mix them ?
- How web-server should know that processing results are ready? I guess there should be single fast-responsive mediator service in local internet that is notified by processing servers (up to 50 processing servers) with processing results and notifies web-servers that results are ready.
What you need is a framework for parallel processing. Take a look at:
http://gearman.org/
精彩评论