What are the possible architecture options for large-scale web applications?

I am tasked with developing a large-scale social web application such as Facebook, twitter, etc., using ASP.net with C #

Prior to this, my development was based on a three-tier architecture (for example, the presentation level, the level of business logic and the level of access to data), but for this project I got confused because my first large-scale project: (

I just want to know what other architectural options I have?

I know that it is difficult to answer such a question, but I only want to have a good resource, then I study every possible option and, finally, choose the one that meets my requirement. I did a bit of RnD over the Internet, but did not succeed.

+4
source share
4 answers

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 (for storing "entity" data in a non-relational way).

There is also SQL Azure for relational storage and AppFabric for a hybrid (on-prem / cloud) application and access control for claims-based identity management.

It has built-in diagnostics, and if you know that C # / ASP.NET / ASP.NET MVC does not need new skills to take advantage of this platform. It also works with Java and PHP.

windows.azure.com

+2
source

As for architecture, you can keep your 3 levels. What you want to do is easily scale your database, and ideally have a caching layer like memcached or membase. Facebook, YouTube, and basically every other high-traffic app use these caches.

After that, the page load and delivery time are optimized - this is a wide task, but also much easier than trying to figure out how to change a table with 100 million records.

+1
source

I would choose a service oriented architecture. All business logic and DAL on a good server perform all operations of time and resources, logic. All architecture patterns are designed for us using Microsoft Team best practices and patterns. Take a look at Factory Web services software and select it to run BLL and DAL and just call the services from the server hosting the website. On another server, you must specify the presentation layer. This will provide the following benefits:
1. Best practices and architecture
2. If you are working with someone else, you can easily share the work.
3. Performance, all work is performed on the server.
These are the main prospects, which are more than enough.

Yours faithfully,
Sergiu.

+1
source

I think that in order to create a large web architecture not only for performance, you should look at the whole, both the resource and the data architecture, easily refactor and view various processing services (multi-level), see my blog about large network architecture with javascript. http://faizalpribadi.imtqy.com/web-architecture-for-large-scale-application/

-1
source

All Articles