Is there a name for this architectural pattern?

Let's say you have a website consisting of:

  • A web server serving various user requests.
  • DB for saving
  • A separate server asynchronously executes background stuff - prepares data in the database, updates it according to changes, etc. - no matter what happens on the main server .

You can easily take this to another world and talk about threads, for example having one thread that processes data asynchronously for the main thread that is running.

Is there a name for this template, if it's a template at all?

Are there any pros / cons for this data processing method in terms of performance?


Let me clarify that I am asking specifically about the fact that the second web server is doing background processing and not the whole architecture.

+2


source to share


3 answers


They all have templates. If you've seen it more than twice, there is a pattern.

You have three Client-Server examples .

You have a Browser-Web Server .

You have a web server in the DB Client role , talking to the DB server .



You have a web server as an application server client , speaking to the application server .

Sometimes people like to call this N-Tier as there are three levels of Browser-Server, Web-Server-Server , and an additional layer of Application Server.

Some people expand this into the Service Bus concept . Your web server uses a DB server and an application server.

Asynchronous back-end and back-end server are the names I've heard to describe the architecture of your application server.

+3


source


I don't have a template name for you (not to say it doesn't), but what you have here is an optimization so that your main thread doesn't respond slowly to requests. It doesn't have to calculate the data, it just has to provide it.



This is similar to UI coding. You are not doing any work on your UI thread, you are just drawing. Other threads should be responsible for figuring out the rest, which is why your UI is responsive.

+2


source


I don't know if this is the official name of the template, but it almost looks like batch processing from mainframes.

0


source







All Articles