What Is Microservices? Architecture Evolution and Spring Cloud Overview
This article explains the evolution from monolithic to distributed, SOA, and microservice architectures, defines microservices, and provides a detailed overview of Spring Cloud’s core components such as Eureka, Ribbon, Feign, Hystrix, Zuul, Gateway, Config, Bus, OAuth2, and Sleuth.
1. What Is Microservices
1.1 Architecture Evolution
The architectural timeline moves from monolithic Java web applications to distributed systems, then to Service‑Oriented Architecture (SOA), and finally to microservices.
Monolithic architecture: a single, undecomposed Java web program.
Distributed architecture: each business domain is a separate monolith communicating via APIs.
SOA architecture: services expose functionality over network protocols, representing a form of distributed architecture.
1.2 Microservice Architecture
Microservices extend SOA by further decomposing applications into small, independently deployable services that communicate primarily via lightweight HTTP/REST APIs.
Each service is built around a specific business capability, can be written in any language, and may use its own data store.
Services should avoid a single, centralized management mechanism; instead, they can be coordinated by a lightweight orchestration layer.
1.3 Microservice Solutions
The two most popular microservice solutions in the Java ecosystem are Spring Cloud and Dubbo.
2. Spring Cloud Overview
2.1 What Is Spring Cloud
Spring Cloud is a Java microservice framework built on Spring Boot, offering rapid development, continuous delivery, and easy deployment. It comprises many components that address various aspects of microservice architecture.
2.1.1 Eureka
Netflix Eureka provides REST‑based service discovery with a server and client component.
2.1.2 Ribbon
Ribbon is a client‑side load‑balancing library from Netflix.
2.1.3 Feign
Feign offers a declarative web service client.
2.1.4 Hystrix
Hystrix implements circuit‑breaker functionality to prevent cascading failures in distributed systems.
2.1.5 Zuul
Zuul is a gateway solution originally created by Netflix.
2.1.6 Gateway
Spring Cloud Gateway, built on Spring 5, Spring Boot 2, and Project Reactor, provides a simple, effective, and unified API routing and management solution for microservices.
2.1.7 Config
Spring Cloud Config supplies client‑side and server‑side support for externalized configuration in distributed environments.
2.1.8 Bus
Spring Cloud Bus enables easy construction of a message bus for propagating events across services.
2.1.9 OAuth2
Spring Cloud OAuth2 can secure microservice systems by handling authentication and authorization.
2.1.10 Sleuth
Sleuth provides distributed tracing capabilities to track request flows across services.
3. Summary
The article reviews the evolution of software architecture and gives an overview of the essential Spring Cloud components used to build microservice systems.
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.
