Taken from large-scale site technical architecture 1st ~ Chapter 3
1. Evolution of large site Architectures
(1) initial site architecture: one server serves as the application, data, and file server respectively.
(2) Separation of application services and data services: the three servers undertake the above three tasks respectively. The application server requires a hard disk and memory with powerful CPU and faster database server requirements, the file server requires a large hard disk.
(3) using cache to improve site performance: it can be divided into local cache and remote cache cached on a dedicated distributed server.
(4) use the application server cluster to improve the site's concurrent processing capability.
(5) database read/write splitting.
(6) Use reverse proxy and CDN to accelerate site response. The basic principles of the two are cache. The difference is that CDN deploys the carrier's data center, while reverse proxy is deployed in the central data center of the site, serving as the frontend of the server group.
(7) use distributed file systems and distributed databases. Distributed databases are the final means of Site Splitting. They are used only when the data size of a single table is large. The database sharding method that is more frequently used by websites is database sharding, where data of different businesses is deployed on different physical servers.
(8) Use nosql and search engines. They provide better support for Scalable Distributed features.
(9) Business Splitting: splits different businesses into different product lines and is the responsibility of different business teams.
(10) distributed services.
2. Architecture of large websites
(1) layered
(2) Cutting
(3) distributed
(4) CLUSTERS
(5) Cache
(6) asynchronous
(7) Redundancy
(8) Self-Automation
(9) Security
3. Core Architecture elements of large websites
(1) Performance
(2) Availability
(3) scalability
(4) scalability
(5) Security
Large site technical architecture 1: Overview