Evolution of Large-Scale Website Architecture: From Single Server to Distributed Services
The article outlines the progressive architectural stages of large‑scale websites—starting with a single‑server setup and advancing through service separation, caching, load balancing, database read/write splitting, CDN/reverse proxy, distributed storage, NoSQL, business splitting, and distributed services—to illustrate how high concurrency, massive traffic, high availability, and massive data are handled.
After finishing the book Large‑Scale Website Architecture , the author reflects on the concepts of reverse proxy, load balancing, session isolation, and caching, and decides to write a series of blogs to deepen understanding of large‑site technical architecture.
1. Initial Stage Website Architecture
In the early stage a website is often deployed on a single server, as shown in the diagram.
2. Separation of Application and Data Services
As the site grows, a single server can no longer meet demand, so the application layer and the data layer are split into separate servers.
3. Using Caching to Improve Performance
Most modern sites employ caching because roughly 80% of requests target 20% of the data.
4. Application Server Cluster for Concurrency
When a single application server becomes a bottleneck during traffic peaks, a load balancer distributes incoming requests across a cluster of servers.
5. Database Read‑Write Splitting
When user volume grows, the database can become a bottleneck; using master‑slave replication enables read‑write separation to alleviate load.
6. Reverse Proxy and CDN for Faster Responses
Both CDN and reverse proxy rely on caching; CDNs are deployed at ISP data centers, while reverse proxies sit in the site’s own data center, serving cached resources directly to users.
7. Distributed File Systems and Distributed Databases
A single powerful server cannot satisfy the continuous growth of a large site; distributed databases are used as a last resort for extremely large tables, while business‑level sharding is more common.
8. NoSQL and Search Engines
Modern large sites also adopt non‑relational databases such as NoSQL and incorporate search engine technologies for efficient data retrieval.
9. Business Splitting
To handle increasingly complex scenarios, large sites split the overall business into multiple product lines, each deployed as an independent application; communication can be via hyperlinks, message queues, or shared data stores.
10. Distributed Services
Common functionalities such as user management and session handling are extracted into independent services that can be shared across applications.
Source: http://blog.csdn.net/chaofanwei/article/details/26865169
Copyright statement: Content is sourced from the internet and belongs to the original author. We strive to credit the author and source; please notify us of any infringement.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.