Large Web site technology Architecture (i)--large-scale website architecture evolution

Source: Internet
Author: User
Tags website performance

After reading there is a book, should have a harvest, have a summary, recently the "large Web site Technology architecture" a book to read, give the impression is profound, coupled with the book on the reverse proxy and load balancing and session independent storage and caching, so the book seems to be quite easy to understand, And the author Hae gives the impression (book) is also quite profound, I have learned a lot from this book, understand many, but understanding or is more abstract, write is the real understanding, so prepare to write a series of blog to introduce and deepen understanding of large-scale website technology architecture.

Said large sites, the first to say the characteristics of large sites: high concurrency, large traffic, high availability, mass data and so on. Let's talk about the evolution of the architecture of large web sites.

1, the initial stage of the site structure

The initial phase is relatively simple, usually a server can take a website, look at the picture.

2. Separation of application services and data Services

With the development of the website business, a server can not meet the demand, this time need to separate applications and data.

3. Use cache to improve website performance

There is no doubt that today's sites will basically use the cache, that is, 80% of business access will be concentrated on 20% of the data.

4, using the application server cluster to improve the concurrency of the site processing capacity

because a single application server can handle a limited number of requests, the application server becomes the bottleneck for the entire site during peak site visits. Therefore, the use of Load balancer processor potential is inevitable. The Load Balancer Dispatch server distributes access requests from the browser to any server in the application's cluster.

5, database reading and writing separation

when the user reaches a certain scale, the database becomes the bottleneck of the website because the load pressure is too high. At present, the main database provides master-slave hot-standby function, by configuring two database master-slave relationship, you can synchronize data updates of one database to another server. The website uses database This function realizes the database reads and writes separates, thus improves the database load pressure.

6, using reverse proxy and CDN Plus website corresponding

Improve website access speed, the main means have to use CDN and reverse proxy.

the basic principle of CDN and reverse proxy is cache , the difference is that the CDN is deployed in the network provider's room, and the reverse proxy is deployed in the central room of the website, when the user requests to reach the central room, the first access to the reverse proxy, if the reverse proxy cache the resources requested by the user, is returned directly to the user.

7. Using Distributed File system and distributed database system

Any powerful single server can not meet the continued growth of the business needs of large sites.

The last means of database splitting in a distributed database is used only when the scale of single table data is very large. In the last resort, the more commonly used database splitting method is business splitting, which deploys different business data on different physical servers .

8. Using NoSQL and search engines

The search engine has also basically formed the features that large Web sites must provide, and Web sites need to employ some non-relational database technologies such as NOSQL and non-database query technologies such as search engines.

9. Business Split

In order to cope with increasingly complex business scenarios, large Web sites split the site into different product lines by using divide-and-conquer methods.

specific to the technical, will also be based on the product line charges, a site is split into many different applications, each application independent deployment maintenance. Applications can be managed through hyperlinks, or distributed through Message Queuing, or, most of all, by accessing the same data storage system to form an associated complete system.

10. Distributed Services

Since each application system needs to perform many of the same business operations, such as user management, session management, these common services can be extracted and deployed independently.

Large Web site technology Architecture (i)--large-scale website architecture evolution

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.