Hands-On Microservices with Spring Boot and Spring Cloud Build and deploy Java microservices using Spring Cloud, Istio, and Kubernetes

Magnus Larsson



Key Features

  • Understand the challenges of building large-scale microservice landscapes
  • Build cloud-native production-ready microservices with this comprehensive guide
  • Discover how to get the best out of Spring Cloud, Kubernetes, and Istio when used together

Book Description

Microservices architecture allows developers to build and maintain applications with ease, and enterprises are rapidly adopting it to build software using Spring Boot as their default framework. With this book, you'll learn how to efficiently build and deploy microservices using Spring Boot.

This microservices book will take you through tried and tested approaches to building distributed systems and implementing microservices architecture in your organization. Starting with a set of simple cooperating microservices developed using Spring Boot, you'll learn how you can add functionalities such as persistence, make your microservices reactive, and describe their APIs using Swagger/OpenAPI. As you advance, you'll understand how to add different services from Spring Cloud to your microservice system. The book also demonstrates how to deploy your microservices using Kubernetes and manage them with Istio for improved security and traffic management. Finally, you'll explore centralized log management using the EFK stack and monitor microservices using Prometheus and Grafana.

By the end of this book, you'll be able to build microservices that are scalable and robust using Spring Boot and Spring Cloud.

What you will learn

  • Build reactive microservices using Spring Boot
  • Develop resilient and scalable microservices using Spring Cloud
  • Use OAuth 2.0/OIDC and Spring Security to protect public APIs
  • Implement Docker to bridge the gap between development, testing, and production
  • Deploy and manage microservices using Kubernetes
  • Apply Istio for improved security, observability, and traffic management

Who this book is for

This book is for Java and Spring developers and architects who want to learn how to break up their existing monoliths into microservices and deploy them either on-premises or in the cloud using Kubernetes as a container orchestrator and Istio as a service Mesh. No familiarity with microservices architecture is required to get started with this book.



- 了解構建大規模微服務架構的挑戰
- 使用這本全面指南來構建雲原生的生產就緒微服務
- 發現在使用Spring Cloud、Kubernetes和Istio時如何獲得最佳效果


微服務架構使開發人員能夠輕鬆構建和維護應用程序,企業正在迅速採用它來使用Spring Boot作為其默認框架來構建軟件。通過這本書,您將學習如何使用Spring Boot高效地構建和部署微服務。

這本微服務書籍將帶您了解在組織中構建分佈式系統和實施微服務架構的經過驗證的方法。從使用Spring Boot開發一組簡單的合作微服務開始,您將學習如何添加功能,例如持久性,使您的微服務具有反應性,並使用Swagger/OpenAPI描述其API。隨著您的進一步學習,您將了解如何將Spring Cloud的不同服務添加到您的微服務系統中。本書還演示了如何使用Kubernetes部署您的微服務,並使用Istio進行更好的安全性和流量管理。最後,您將探索使用EFK堆棧進行集中式日誌管理,並使用Prometheus和Grafana監控微服務。

通過閱讀本書,您將能夠使用Spring Boot和Spring Cloud構建可擴展和強大的微服務。


- 使用Spring Boot構建反應式微服務
- 使用Spring Cloud開發具有彈性和可擴展性的微服務
- 使用OAuth 2.0/OIDC和Spring Security保護公共API
- 實施Docker以彌合開發、測試和生產之間的差距
- 使用Kubernetes部署和管理微服務
- 應用Istio以提高安全性、可觀察性和流量管理




Magnus Larsson has been in the IT industry for more than 30 years, working as a consultant for large companies in Sweden such as Volvo, Ericsson, and AstraZeneca. He has seen a lot of different communication technologies come and go over the years, such as RPC, CORBA, SOAP, and REST. In the past, he struggled with the challenges associated with distributed systems as there was no substantial help from the software available at that time. This has, however, changed dramatically over the last few years with the introduction of open source projects such as Spring Cloud, Netflix OSS, Docker, and Kubernetes. Over the last five years, Magnus has been helping customers use these new software technologies and has also done several presentations and blog posts on the subject.


Magnus Larsson在IT行業已有超過30年的經驗,曾在瑞典的大公司如Volvo、Ericsson和AstraZeneca擔任顧問。多年來,他見證了許多不同的通訊技術的興衰,如RPC、CORBA、SOAP和REST。過去,他在分散式系統方面遇到了許多挑戰,因為當時的軟體並沒有提供實質的幫助。然而,在過去幾年中,隨著Spring Cloud、Netflix OSS、Docker和Kubernetes等開源項目的引入,情況發生了戲劇性的變化。在過去五年中,Magnus一直在幫助客戶使用這些新的軟體技術,並且也在這個主題上進行了多次演講和博客文章。


  1. Introduction to Microservices
  2. Introduction to Spring Boot
  3. Creating a Set of Cooperating Microservices
  4. Deploying Our Microservices Using Docker
  5. Adding an API Description Using OpenAPI/Swagger
  6. Adding Persisitence
  7. Developing Reactive Microservices
  8. Introduction to Spring Cloud
  9. Adding Service Discovery Using Netflix Eureka and Ribbon
  10. Using Spring Cloud Gateway to Hide Microservices Behind an Edge Server
  11. Securing Access to APIs
  12. Centralized Configuration
  13. Improving Resilience using Resilience4j
  14. Understanding Distributed Tracing
  15. Introduction to Kubernetes
  16. Deploying Our Microservices to Kubernetes
  17. Implementing Kubernetes Features as an Alternative
  18. Using a Service Mesh to Improve Observability and Management
  19. Centralized Logging with the EFK Stack
  20. Monitoring Microservices


- 微服務介紹
- Spring Boot介紹
- 建立一組合作的微服務
- 使用Docker部署我們的微服務
- 使用OpenAPI/Swagger添加API描述
- 添加持久化功能
- 開發反應式微服務
- Spring Cloud介紹
- 使用Netflix Eureka和Ribbon添加服務發現
- 使用Spring Cloud Gateway將微服務隱藏在邊緣伺服器後面
- 保護API的訪問權限
- 集中式配置
- 使用Resilience4j提升彈性
- 理解分散式追蹤
- Kubernetes介紹
- 將我們的微服務部署到Kubernetes
- 實現Kubernetes功能作為替代方案
- 使用服務網格改善可觀察性和管理性
- 使用EFK堆棧進行集中式日誌記錄
- 監控微服務