Evolution of Internet Architecture to Microservices and Service Governance with Dubbo
This article traces the evolution of internet architecture from monolithic to distributed and microservice models, explains the concepts of serviceization and service governance, and details how Dubbo implements these ideas while highlighting the benefits, challenges, and practical implementation steps for modern backend systems.
Recently, microservices have become a hot topic; the author, a senior architect, shares a presentation‑derived overview covering the evolution of internet architecture, the rise of service‑oriented designs, and the specifics of microservices.
Evolution of Internet Architecture
Monolithic Architecture
Early desktop applications bundled UI, business logic, and data handling into a single package, offering simplicity but limited scalability.
MVC Architecture
With browsers, front‑end and back‑end separation emerged, leading to the Model‑View‑Controller pattern that improves modularity, reusability, and reduces coupling.
Multi‑Application Architecture
Large systems are split into independent applications (e.g., user, product, order services) to avoid monolithic bloat, though code reuse becomes harder.
Distributed Architecture
To handle growing user bases and rapid iteration, business logic is extracted into independent services, forming a modular, service‑based system.
Serviceization
Characteristics
Business functions are split into services.
Each service can be deployed independently.
Services can be shared across multiple applications.
Services communicate with each other.
Benefits
Clearer system architecture.
Stable core modules with upgradeable service components.
Easier development management.
Clear responsibilities and team ownership.
Business and code reuse.
High extensibility.
Implementation via RPC
Remote Procedure Call (RPC) frameworks solve the remote service invocation problem. Common RPC solutions include:
Java RMI
WebService
Hessian
Http
Thrift
Challenges of Serviceization
Complex configuration management as services proliferate.
Complicated inter‑service dependencies.
Load balancing across services.
Service scaling, monitoring, degradation, and authentication.
Service registration, discovery, and documentation.
Service Governance
Dubbo is a widely used RPC framework that provides a complete service‑governance solution.
Service Registration & Discovery
Dubbo introduces a registry where providers register services and consumers subscribe to them, enabling dynamic discovery and soft load balancing.
Service Monitoring
Monitoring dashboards help assess performance and guide scaling decisions.
Cluster Fault Tolerance
Dubbo’s registry is lightweight, does not forward requests, and supports failover via client‑side caching and peer‑to‑peer clustering.
Load Balancing Strategies
Random
RoundRobin
LeastActive
ConsistentHash
Advantages of Dubbo Governance
Low‑pressure registry focused on registration and lookup.
Consumer resilience to registry failures via local cache.
Automatic failover with peer clusters.
Stateless providers allow dynamic deployment.
Lightweight statistics collection.
Automatic soft load balancing for consumers.
Dependency tracing through the service center.
Monitoring‑driven scaling and degradation.
ACL‑based authentication.
Seamless Spring integration.
Support for multiple serialization protocols.
Dubbo Limitations
Consumers still rely on configuration centers.
Provider configuration requires JAR dependencies.
Lack of unified documentation management.
No single entry point.
No native OAuth2.0 support.
Complex internal authentication management.
Limited external application authentication.
Exposed interfaces are often bare.
IT governance can be cumbersome.
Microservices
Microservices refine services to the API level, offering fine‑grained, easily consumable functionalities via HTTP without configuration.
Key Features
Each service consists of a set of APIs.
Uniform API format for external consumption.
No configuration needed for callers.
Comprehensive API documentation.
Secure, reliable, and stable API services.
Problems Addressed by Microservices
Unified entry point.
Security controls such as rate limiting.
Unified authentication (application, user, OAuth, ACL).
Protocol conversion (HTTP, Dubbo, Protobuf).
API configuration management.
API lifecycle (publish/unpublish).
Mapping between APIs and service interfaces.
Monitoring and alerting.
Scalable, high‑concurrency, distributed architecture.
Automatic service container scaling.
Implementation Blueprint
Load‑balancing layer: Nginx / LVS / F5.
Microservice layer: high‑performance API gateway providing unified entry, configuration, routing, authentication, monitoring, and protocol conversion.
Service governance layer: Dubbo framework and message queues for decoupling.
Elastic cloud: containerized services with real‑time cluster scheduling based on traffic.
Elastic Cloud
Elastic cloud automates operations, monitors traffic pressure, and dynamically schedules application deployment and reclamation to ensure API availability and performance.
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.
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
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.
