Click here to Skip to main content
12,818,315 members (37,343 online)
Rate this:
Please Sign up or sign in to vote.
See more: C# WCF Application architecture , +

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.

Posted 18-Jan-12 20:31pm
SAKryukov 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?

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.
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.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Have a look at[^]

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

Best regards
Espen Harlinn
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!
Espen Harlinn 30-Jan-12 6:23am
Thank you thatraja :)
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

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

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

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

Advertise | Privacy | Mobile
Web02 | 2.8.170308.1 | Last Updated 29 Jan 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100