What Is Distributed Architecture and How Does It Evolve?
Distributed architecture, built on networked software systems, offers cohesive, transparent services through concepts like cohesion, transparency, and various applications such as distributed file systems, caches, databases, and web services, while evolving through stages like caching, clustering, load balancing, and addressing challenges like service management and scalability.
What Is Distributed Architecture
A distributed system is a software system built on a network.
Cohesion : each database node is highly autonomous with its own DBMS.
Transparency : each node appears transparent to the user, who cannot tell whether it is local or remote.
In a distributed data system, users perceive the data as non‑distributed; they do not need to know about partitions, replicas, locations, or where transactions execute.
Simply put, a group of independent computers presents a unified whole to the user, similar to a single MySQL instance.
The system provides services as a whole, while internal collaboration remains transparent to the user, just like using a single MySQL.
Example: the distributed MySQL middleware MyCat handles high concurrency and large data volumes.
Applications of Distributed Architecture
1. Distributed File Systems : Hadoop HDFS, Google GFS, Taobao TFS, etc.
2. Distributed Caching Systems : Memcached, HBase, MongoDB, etc.
3. Distributed Databases : MySQL, MariaDB, PostgreSQL, etc.
4. Distributed Web Services
5. Distributed Computing
Example with MyCat: it is widely used in e‑commerce for handling billions of records per day, such as China Mobile billing and IoT projects, providing real‑time query interfaces.
Studying MyCat deepens understanding of distributed architecture, ZooKeeper consistency service, HAProxy/keepalived high availability, clustering, load balancing, and related concepts.
Resource Recommendations
Large‑Scale Distributed Website Architecture Design and Practice
Core Principles and Case Studies of Large‑Scale Website Architecture
Large‑Scale Website Systems and Java Middleware Practice
Distributed Java Applications: Fundamentals and Practice
Evolution of Distributed Architecture
1. Initial Stage
All resources (applications, databases, files) reside on a single server.
2. Separation of Application, Data, and File Services
As traffic grows, a second web server is added to share load.
3. Caching to Improve Performance
80% of accesses target 20% of data; local and remote distributed caches reduce database pressure.
4. Application Server Clustering
Multiple servers provide services via load balancing, alleviating single‑server limits.
5. Database Read‑Write Separation
Read‑write separation mitigates write‑heavy contention.
6. Reverse Proxy and CDN Acceleration
CDN and reverse proxy cache content to speed up access and reduce backend load.
7. Distributed File Systems and Distributed Databases
When data volume grows, both file systems and databases are distributed.
8. NoSQL and Search Engines
Introduce NoSQL databases and search engines to handle complex storage and retrieval needs.
9. Business Splitting
Vertical splitting creates independent small applications; horizontal splitting extracts reusable services for independent deployment.
10. Distributed Services
Common modules are extracted and deployed on distributed servers for other applications to call.
Problems Faced by Distributed Service Applications
Managing an increasing number of service URLs and hardware load balancer pressure.
Complex inter‑service dependencies and unclear startup order.
Scaling service capacity and determining when to add machines.
Rising communication cost and difficulty locating responsible owners.
Ensuring service quality for multiple business consumers.
Unexpected failures (e.g., cache errors causing memory overflow) and the need for graceful degradation.
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.
