Evolution of System Architecture and Key Distributed Service Technologies

This article outlines the progressive stages of system architecture—from a single‑server LAMP setup through application‑data separation, caching, clustering, read/write splitting, CDN, distributed storage, NoSQL, business decomposition, and finally distributed services—while detailing essential technologies such as message queues, service frameworks, service buses, communication patterns, and governance mechanisms like Dubbo and OSB.

Architecture Digest
Architecture Digest
Architecture Digest
Evolution of System Architecture and Key Distributed Service Technologies

Book Recommendation A recommended book titled Distributed Service Architecture: Principles, Design, and Practice is linked for readers interested in deeper study.

Initial Stage – LAMP Architecture In the early stage, a small system runs all components—application, database, and files—on a single server using the classic LAMP stack (Linux, Apache, MySQL, PHP), which provides a low‑cost entry point for development.

Separation of Application and Data Services When traffic grows, a separate web server is added, and the application, database, and files are deployed on independent resources, improving concurrency handling and storage capacity.

Using Cache to Improve Performance A small subset of frequently accessed data is stored in a cache server to reduce database load, following the 80/20 rule. Both local and distributed caches are discussed, highlighting speed versus capacity trade‑offs.

Application Server Cluster After sharding databases, traffic spikes again; the web server becomes a bottleneck. Deploying multiple servers behind a load balancer distributes load and eliminates the single‑point limitation.

Database Read‑Write Splitting When write‑heavy operations cause contention, read‑write splitting across multiple database instances alleviates resource competition and improves overall throughput.

Reverse Proxy and CDN Acceleration Deploying a reverse proxy and Content Delivery Network caches static content, shortens response time for geographically dispersed users, and reduces backend load.

Distributed File System and Distributed Database As data volume explodes, the system adopts distributed databases and file systems to handle scale that a single server cannot satisfy.

Introducing NoSQL and Search Engines Non‑relational databases and search engines are incorporated to meet complex storage and retrieval requirements, with a unified data‑access layer simplifying application code.

Business‑Level Decomposition The system is split by business domains; each domain runs in its own application server, enabling independent deployment, scaling, and clearer ownership.

Distributed Services Common functionalities are extracted into shared services deployed on distributed servers, allowing multiple applications to invoke them via well‑defined interfaces.

Challenges of Distributed Services (Q&A) Key issues include configuration management, service dependency complexity, capacity planning, communication overhead, quality assurance for multiple consumers, and fault isolation with graceful degradation.

Fundamental Java Distributed Application Technologies An overview of essential components such as message queues, service frameworks, and service buses that enable loosely coupled, scalable systems.

Message Queue Architecture Message queues decouple subsystems by transmitting messages that represent work items, allowing asynchronous processing.

Message Queue Principles The core principles involve reliable delivery, persistence, and consumer acknowledgment.

Service Framework Architecture A point‑to‑point model where services expose interfaces that client applications invoke; suitable for mobile, web, and external systems.

Service Framework Principles Interfaces abstract implementation details, enabling interchangeable service providers.

Service Bus Architecture A bus‑style model that connects heterogeneous systems via a common interface, primarily for internal enterprise integration.

Service Bus Principles Similar to the framework, but emphasizes message routing and transformation across diverse protocols.

Five Communication Patterns in Distributed Architecture 1) Request/Response (synchronous) 2) Callback (asynchronous) 3) Future (promise‑based) 4) Oneway (fire‑and‑forget) 5) Reliable (message‑centered persistence).

Implementation of the Five Patterns – Synchronous Point‑to‑Point

Implementation – Asynchronous Point‑to‑Point (Mode 1 & 2)

Implementation – Asynchronous Broadcast

Service Governance Governance ensures high‑quality service provision, including traffic routing, consumer access control, monitoring (request count, latency, peak), and protection mechanisms such as rate limiting and circuit breaking.

Dubbo‑Based Governance – Management, Monitoring, Routing, Protection Dubbo provides interfaces to view services, adjust weights, upgrade or disable services, monitor metrics, define routing rules, and apply protection strategies.

OSB‑Based Governance – Features and Overview The Oracle Service Bus (OSB) offers similar capabilities for heterogeneous internal systems, including service mediation, transformation, and policy enforcement.

Q&A – What Is Dubbo? Dubbo is an open‑source high‑performance RPC framework from Alibaba that supports transparent remote calls and SOA governance.

Q&A – Dubbo Principles The framework relies on interface‑based service definition, dynamic proxy generation, and a registry for service discovery.

Source: http://www.jianshu.com/p/ab35b6d74fed

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Distributed SystemsMicroservicesBackend DevelopmentMessage QueueService Architecture
Architecture Digest
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.