English 中文(简体)
What are possible architecture options for large scale web applications
原标题:

I am assigned a task to develop a large scale social web application like Facebook, twitter etc, using ASP.net with C#

Before this my development was based on three tier architecture (i.e Presentation Layer, business logic layer, and data access layer) but for this project i am confused because its my first large scale project :(

I just want to know what are other possible architectural choices i have?

I know its difficult to answer such question, but i only want to have good resource, then i study each possible option and finally, choose one that suits my requirement. I did a little RnD over internet but didn t succeed much.

最佳回答

You should check out Windows Azure. it offers hosting, 3 types of scalable (but not relational) storage in the form of Blobs (or files / images / raw), Queues (for distributed communication) and Table Storage (to maintain entity data in a non-relational manner).

There is also SQL Azure for relational storage and AppFabric for hybrid (on-prem/cloud) application addressibility and Access Control for Claims-based Identity Management.

It has built-in diagnostics and if you know C#/ASP.NET/ASP.NET MVC no new skills are needed to take advantage of this platform. It also works with Java and PHP.

windows.azure.com

问题回答

As far as architecture goes, you can still maintain your 3 tiers. What you want to be able to do is easily scale your database reads and ideally have a caching layer in place like memcached or membase. Facebook, YouTube, and basically every other high traffic application use these caches.

After that, it s optimizing the page load and delivery time - which is a broad task, but also much easier than trying to figure out how to modify a table with 100 million records.

I would choose Service Oriented Architecture. All business logic and DAL on good server to perform all time and resource consuming operations, logic. There is all architecture patters elaborated for us by best practices and patterns Microsoft Team. Read about Web Service Software Factory and choose it to perform BLL and DAL, and simply call services from server on which is hosted web site. On another server you should put presentation layer - pages.
This will give up following benefits:
1. Best practices and architecture
2. If you are developing with someone else, you can easily split the work.
3. Performance, all work is done on server.
These are major perspectives, which are more than enough.

Regards,
Sergiu.

I think for designing large web architecture not only performance, you have to look broadly, both the resource, the data architecture, easy to refactor and can view different handling service (multi-layer), see my blog post about large web architecture with javascript. http://faizalpribadi.github.io/web-architecture-for-large-scale-application/





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签