Click here to Skip to main content
15,887,676 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
Hi,

What would be an ideal architecture for a Web application which is interactive, having n to 1000 users connected at any given moment of time. The data will be saved in DB but there should be some part of memory buffering and queuing required to serve faster.

I have a basic architecture in my mind:
There would be a Web server handling user sessions and requests; And a services that would sit between DB and Web server.
The service would be queuing data for saving as well as maintaining it in memory for faster response.

I require some views over the service to avoid request-response bottlenecking between web server. Can a WCF service configured to handle request load. Is this model robust enough to maintain user integrity and response speed.

Thanx,
-oNmEsH
Posted
Comments
Sergey Alexandrovich Kryukov 19-Jan-12 1:41am    
This is a very vague question. There is no such thing as "perfect architecture", or at least such thing is not defined. Selection on architectural features depends on many other factors.

One comment: a role of services between DB and Web server is not clear. It could be simply ASP.NET code behind. Are you familiar with commonly known architectural patterns like MVC, MVP, MVVM? Multi-tier?

--SA
Jephunneh Malazarte 19-Jan-12 2:06am    
oNmEsH are you refering SOA?
oNmEsH 20-Jan-12 10:41am    
not refering to SOA. It is specific requirement; there is a three-tier server-client application need to be replaced with a WEB application.
--oNmEsH
Wonde Tadesse 29-Jan-12 16:10pm    
This doesn't fall to a question, perhaps you are requesting a suggestion and the answers given below are way to go.

Have a look at http://umbraco.com/[^]

I think that will do nicely - just watch the video :)

Best regards
Espen Harlinn
 
Share this answer
 
Comments
Wonde Tadesse 29-Jan-12 16:08pm    
5+. Good reference and no need to waste time!
Espen Harlinn 29-Jan-12 16:11pm    
Thank you Wonde :)
BillWoodruff 29-Jan-12 16:45pm    
I have often wondered about the capabilities of the free Umbarco (where you don't get the expensive add-ons).

The "Courier" add-on, which is going to cost you nearly 500 Euros, and lets you: "be able to move content and media from test to live site in a simple one-click operation," and "analyzes dependencies," for example, raises the question, for me, of how, without Courier, using the free version, you get your content and media to the live site (good-old FTP ?). But, that's a question I should, and will, ask Umbarco: certainly don't intend to ask you :)

Thanks for reminding me to look again. +5
Espen Harlinn 29-Jan-12 16:48pm    
Thank you Bill :)
thatraja 29-Jan-12 21:13pm    
Agree with others, 5!
Starting from the WCF question, yes, you have some control over how WCF throttles requests and how it instantiate service instances. However I'm not sure how this will fit exactly into solving your problem.
If the user requests do not require the heavy processing (DB transactions and calculations for example) then the queuing option you've mentioned sounds good. How to achieve it has several options as:
-Use WCF over MSMQ to queue user requests to be processed later.
-Using specialized message queuing services like Azure service bus or queues. Or Amazon's SQS aws.amazon.com/sqs/

I hope this helps
 
Share this answer
 
Comments
oNmEsH 30-Jan-12 1:31am    
thanx 4 ur comments; some insight ...
--oNmEsH

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900