From Single Servers to Microservices: Evolution of Web Architecture
An overview of how web system architecture has progressed from early single‑machine setups using PC servers to multi‑machine clusters, business and application splitting, distributed caching, CDN, load balancing, and service‑oriented designs, illustrating the continuous evolution toward scalable, resilient backend infrastructures.
Technology originates from humanity, and like personal growth, website system architecture continuously evolves.
Single-Machine Architecture
In the era before 2004, many sites ran on PC servers—personal desktops used as servers. Companies such as Yahoo, Sina, and Livedoor operated thousands of FreeBSD PC servers that handled thousands of concurrent users without rebooting for a year.
These machines served roles like DB, Samba, FTP, and ran Apache, Nginx, MySQL, Perl/CGI, PHP, and JavaEE locally.
Multi-Machine Architecture
When traffic grew, a separate database server became necessary, leading to a web server plus a DB server configuration.
Further load on the database prompted multi‑machine setups, e.g., one master and one slave DB, or multiple masters and slaves to distribute read/write load.
Business Splitting
As traffic increases, servers are split by business domains—main site, news, forum, membership, orders, operations, customer service—often sharing sessions via common SSO or OAuth mechanisms.
Application Splitting
Each business function extracts its own codebase, enabling hierarchical code management and avoiding redundant deployments.
Distributed Cache
To reduce database pressure, frequently accessed data is cached using distributed solutions such as Varnish, Memcache, or Redis.
Database Sharding
Growing data volumes require sharding and possibly NoSQL solutions; search features may need dedicated search middleware.
Using CDN
CDNs act as large‑scale distributed caches, placing static content on many nodes worldwide, directing users to the nearest node via intelligent DNS, thus improving access speed and offloading traffic.
Load Balancing
Before 2008, hardware load balancers (F5, Netscaler) were common but costly. Modern software load balancing uses LVS, HAProxy, and Keepalived, offering easier scaling and lower cost.
Server Cluster
Horizontal scaling clusters, combined with load balancing, provide high‑traffic support while avoiding single‑point failures.
Service‑Oriented Architecture
Service‑oriented design (SOA) turns a website into a distributed system with API‑based interactions, allowing heterogeneous languages and paving the way for microservices.
Conclusion
This brief history outlines the evolution of website system architecture, setting the stage for deeper practice, case studies, and the underlying architectural and operational principles.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
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.
