2

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?

  1. There are several web-servers (~2-4) that are ready to get user images.
  2. 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)
  3. (a) Client starts to poll web-server if processing result is ready via ajax with interval (1000 ms.)
  4. (b) Client has flash/silverlight component 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:

  1. Would you personally prefer ajax polling approach or duplex communication (with flash/silverlight) in Internet environment? Or will you mix them ?
  2. 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.
Andrew Florko
  • 7,672
  • 10
  • 60
  • 107

1 Answers1

1

What you need is a framework for parallel processing. Take a look at:

http://gearman.org/

iluwatar
  • 1,778
  • 1
  • 12
  • 22