Video description
In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.
A must-have for any professional Spring microservice developer’s bookshelf!
Iain Campbell, Tango Telecom
By dividing large applications into separate self-contained units, Microservices are a great step toward reducing complexity and increasing flexibility. Spring Microservices in Action, Second Edition teaches you how to build microservice-based applications using Java and the Spring platform. This second edition is fully updated for the latest version of Spring, with expanded coverage of API routing with Spring Cloud Gateway, logging with the ELK stack, metrics with Prometheus and Grafana, security with the Hashicorp Vault, and modern deployment practices with Kubernetes and Istio.
about the technology
Building and deploying microservices can be easy in Spring! Libraries like Spring Boot, Spring Cloud, and Spring Cloud Gateway reduce the boilerplate code in REST-based services. They provide an effective toolbox to get your microservices up and running on both public and private clouds.
about the book
Spring Microservices in Action, Second Edition teaches you to build microservice-based applications using Java and Spring. You’ll start by creating basic services, then move to efficient logging and monitoring. Learn to refactor Java applications with Spring’s intuitive tooling, and master API management with Spring Cloud Gateway. You’ll even deploy Spring Cloud applications with AWS and Kubernetes.
what's inside
- Microservice design principles and best practices
- Configuration with Spring Cloud Config and Hashicorp Vault
- Client-side resiliency with Resilience4j, and Spring Cloud Load Balancer
- Metrics monitoring with Prometheus and Grafana
- Distributed tracing with Spring Cloud Sleuth, Zipkin, and ELK Stack
about the audience
For experienced Java and Spring developers.
about the author
John Carnell is a senior cloud engineer with 20 years of Java experience. Illary Huaylupo Sánchez is a software engineer with over 13 years of experience.
A holistic and practical approach to building cloud native microservices using Spring. Loads of practice, advice, and fun.
Satej Sahu, Honeywell
A perfect reference, whether you are a beginner or an experienced Java developer.
Philippe Vialatte, Symphony
A great guide on modern secure deployment practices for the cloud.
Todd Cook, Appen
NARRATED BY ADAM NEWMARK
Table of Contents
Chapter 1. Welcome to the cloud, Spring
Chapter 1. What’s a microservice?
Chapter 1. Microservices with Spring
Chapter 1. Cloud and microservice-based applications
Chapter 1. Why the cloud and microservices?
Chapter 1. Core microservice development pattern
Chapter 1. Microservice logging and tracing patterns
Chapter 2. Exploring the microservices world with Spring Cloud
Chapter 2. Spring Cloud by example
Chapter 2. Codebase
Chapter 2. Dev/prod parity
Chapter 2. Getting started with the skeleton project
Chapter 3. Building microservices with Spring Boot
Chapter 3. Establishing service granularity
Chapter 3. When not to use microservices
Chapter 3. Building the doorway into the microservice: The Spring Boot controller
Chapter 3. Adding internationalization into the licensing service
Chapter 3. The DevOps story: Building for the rigors of runtime
Chapter 3. Service registration and discovery: How clients communicate with your microservices
Chapter 4. Welcome to Docker
Chapter 4. What is Docker?
Chapter 4. Integrating Docker with our microservices
Chapter 4. Creating Docker images with Spring Boot
Chapter 5. Controlling your configuration with the Spring Cloud Configuration Server
Chapter 5. Building our Spring Cloud Configuration Server
Chapter 5. Setting up the Spring Cloud Config bootstrap class
Chapter 5. Integrating Spring Cloud Config with a Spring Boot client
Chapter 5. Configuring the licensing service to use Spring Cloud Config
Chapter 5. Directly reading properties using @ConfigurationProperties
Chapter 5. Vault UI
Chapter 6. On service discovery
Chapter 6. Service discovery in the cloud
Chapter 6. Service discovery in action using Spring and Netflix Eureka
Chapter 6. Registering services with Spring Eureka
Chapter 6. Using service discovery to look up a service
Chapter 6. Invoking services with a Load Balancer–aware Spring REST template
Chapter 7. When bad things happen: Resiliency patterns with Spring Cloud and Resilience4j
Chapter 7. Why client resiliency matters
Chapter 7. Setting up the licensing service to use Spring Cloud and Resilience4j
Chapter 7. Fallback processing
Chapter 7. Implementing the retry pattern
Chapter 7. ThreadLocal and Resilience4j
Chapter 8. Service routing with Spring Cloud Gateway
Chapter 8. Introducing Spring Cloud Gateway
Chapter 8. Configuring routes in Spring Cloud Gateway
Chapter 8. The real power of Spring Cloud Gateway: Predicate and Filter Factories
Chapter 8. Building the pre-filter
Chapter 8. UserContextFilter: Intercepting the incoming HTTP request
Chapter 9. Securing your microservices
Chapter 9. Starting small: Using Spring and Keycloak to protect a single endpoint
Chapter 9. Configuring O-stock users
Chapter 9. Protecting the organization service using Keycloak
Chapter 9. Propagating the access token
Chapter 9. Some closing thoughts on microservice security
Chapter 10. Event-driven architecture with Spring Cloud Stream
Chapter 10. Using messaging to communicate state changes between services
Chapter 10. Writing a simple message producer and consumer
Chapter 10. Writing the message consumer in the licensing service
Chapter 10. A Spring Cloud Stream use case: Distributed caching
Chapter 10. Using Redis to cache lookups
Chapter 11. Distributed tracing with Spring Cloud Sleuth and Zipkin
Chapter 11. Log aggregation and Spring Cloud Sleuth
Chapter 11. Defining and running ELK Stack applications in Docker
Chapter 11. Searching for Spring Cloud Sleuth trace IDs in Kibana
Chapter 11. Configuring a Zipkin server
Chapter 11. Visualizing a more complex transaction
Chapter 12. Deploying your microservices
Chapter 12. The architecture of a build/deployment pipeline
Chapter 12. Setting up O-stock’s core infrastructure in the cloud
Chapter 12. Beyond the infrastructure: Deploying O-stock and ELK
Chapter 12. Creating an EKS cluster
Chapter 12. Creating an EKS cluster
Chapter 12. Your build/deployment pipeline in action
Chapter 12. Enabling our services to build in Jenkins
Chapter 12. Understanding and generating the pipeline script
Appendix A. Microservices architecture best practices
Appendix B. OAuth2 grant types
Appendix B. Authorization grant type
Appendix C. Monitoring your microservices
Appendix C. Implementing Micrometer and Prometheus