Chapter One: Evolution of large-scale websites 1.1 features of large web site software system
High concurrency, large flow
High Availability:24x7 Service
Massive data
Wide range of users and complex network conditions
The security environment is harsh: large websites are attacked almost every day
rapid changes in demand, frequent releases: new releases on large sites every week
progressive development: large sites have evolved from small websites
1.2 Large-scale Web site architecture evolution and development process
Initial phase of the site architecture
Use only one server.
Application Service and Data service separation
Separated the application, data, file three servers.
The application server handles a lot of business, so it needs a faster and stronger CPU.
Fast disk retrieval and data caching for data servers requiring faster hard drives and large memory
The file server is used to store the user's files and requires a larger hard disk
Using caching to improve Web site performance
Most business access is focused on a small subset of the data.
Local cache: Fast, limited by Application server memory
Distributed Cache Server (cluster): Using a large memory server
Improve Web site concurrency with Application server clusters
Improve load pressure and achieve system scalability by continuously increasing application servers.
Distribute access requests to any server in the application server cluster through a load Balancer dispatch server.
Read and write separation of database
After using the cache, do not read and write all or access the database
Configure the master-slave database. When the application server is writing data, it accesses the primary database. The primary database synchronizes the data updates to the slave database through a master-subordinate replication mechanism.
Accelerate site response with reverse proxy and CDN
The rationale is caching. The difference is that the CDN is deployed in the network to provide the opportunity room. The reverse proxy is deployed in the website room.
If the reverse proxy server caches the resources requested by the user, it is returned directly to the user, reducing the pressure on the server.
The goal is to return data to the user as soon as possible.
Using Distributed file systems and distributed database systems
Typically, business libraries are used to deploy data from different businesses on different servers.
A distributed database is used only when the scale of a single table is very large.
Using NoSQL and search engines
Reduce the hassle of applications managing many databases with a unified data layer that accesses a wide range of data.
Business Split
Split the entire website business into different product lines.
Large shopping sites will be home, shops, orders, buyers, sellers into different product lines, by different teams responsible.
Distributed services
such as user management, commodity management business, can be shared with the business to extract, independent deployment
Large Web site Technology Architecture Learning notes