Spring Cloud Microservices Beginner Tutorial (1): Microservices Introduction Spring Cloud Microservices Beginner Tutorial (2): Service Registration and Discovery - Eureka Spring Cloud Microservices Beginner Tutorial (3): Registering Microservices Spring Cloud Microservices Beginner Tutorial (4): Inter-Service Calls and Consumption - FeignClient Spring Cloud Microservices Beginner Tutorial (5): Centralized Configuration Center - ConfigService Spring Cloud Microservices Beginner Tutorial (6): Dynamic Config File Updates via Spring Cloud BUS Message Bus Spring Cloud Microservices Beginner Tutorial (7): Spring Cloud Stream Message-Queue-Driven Microservices Spring Cloud Microservices Beginner Tutorial (8): Spring Cloud Zuul Service Gateway Dynamic Routing, Cookie Header Passing and CORS Spring Cloud Microservices Beginner Tutorial (9): Integrating Zuul Gateway with Swagger2 for Auto-Generated RESTful API Docs Spring Cloud Microservices Beginner Tutorial (10): Spring Cloud Hystrix Circuit Breaking and Service Degradation Spring Cloud Microservices Beginner Tutorial (11): Spring Cloud Sleuth + Zipkin Service Tracing and Link Monitoring Spring Cloud Microservices Beginner Tutorial (12): Spring Cloud Docker Containerized Deployment
Preface
My personal blog site has always stuck to one major update per year, but this time I decided not to update it, because the next update would mean adopting microservices. Using a microservices architecture for a small site would be overkill, and it takes too much time and effort to maintain. So instead of rewriting my blog from scratch, I turned it into a tutorial series.
The History of Microservices
Referring to the English Wikipedia, let’s briefly trace the history of microservices:
-
2005: Dr. Peter Rodgers introduced the concept of “Micro-Web-Services” at the Web Services Edge conference.
-
2011: A software architecture working group used the term “microservice” to describe an architectural pattern.
-
2012: The same architecture working group formally adopted “microservice” to represent this architecture.
-
2012: ThoughtWorks’ James Lewis gave a talk on the microservices concept at QCon San Francisco 2012.
-
2014: James Lewis and Martin Fowler co-authored an academic article detailing microservices.
Spring Cloud and Dubbo
Dubbo is the core framework for service governance at Alibaba, and is widely used across Alibaba Group’s various sites.
As the name suggests, Spring Cloud is a product of SpringSource. Backed by the powerful Spring community—arguably the most influential organization in the Java enterprise world—along with Pivotal and Netflix as its strong supporters and technology contributors. Netflix’s open-source suite of microservices architecture components forms the core of Spring Cloud.
Why I Chose Spring Cloud
Some might say it’s unfair to compare Spring Cloud with Dubbo: Dubbo only implements service governance, whereas Spring Cloud has 17 sub-projects (and possibly more to come) covering every aspect of a microservices architecture. Service governance is just one of them. To some extent, Dubbo is merely a subset of Spring Cloud Netflix. But when choosing a framework, the completeness of the solution is exactly what needs close attention.
Microservices Architecture

I drew this architecture diagram myself. Since this is a beginner tutorial, it does not cover all of Spring Cloud—I just drew what came to mind while writing this article, so later articles may add more than what’s shown here. This diagram is only meant to give those just getting into microservices a general idea. The combination used in the diagram is just my personal preference; many parts can be replaced with other technologies—it’s just for your reference.
Later, I’ll walk you through how to use each of these components one by one, gradually building out the entire microservices architecture.
