Hands-On Microservices with Spring Boot and Spring Cloud Build and Deploy Java Microservices Using Spring Cloud, Istio, and Kubernetes

The goal of the book is to demonstrate how to use essential parts of Spring Boot and Spring Cloud to develop production ready microservices. You will also learn how to deploy the microservice to Kubernetes, use Istio as a service mesh and finally learn how to use their features to provide scalabilit...

Full description

Bibliographic Details
Main Author: Larsson, Magnus
Format: eBook
Language:English
Published: Birmingham Packt Publishing, Limited 2019
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Setting up multi-project builds in GradleAdding RESTful APIs; Adding an API and a util project; The api project; The util project; Implementing our API; Adding a composite microservice; API classes; Properties; Integration component; Composite API implementation; Adding error handling; The global REST controller exception handler; Error-handling in API implementations; Error-handling in the API client; Testing APIs manually; Preventing slow lookup of the localhost hostname; Adding automated microservice tests in isolation; Adding semi-automated tests of a microservice landscape
  • Solution requirementsReactive microservice; Problem; Solution; Solution requirements; Central configuration; Problem; Solution; Solution requirements; Centralized log analysis; Problem; Solution; Distributed tracing; Problem; Solution; Solution requirements; Circuit Breaker; Problem; Solution; Solution requirements; Control loop; Problem; Solution; Solution requirements; Centralized monitoring and alarms; Problem; Solution; Solution requirements; Software enablers; Other important considerations; Summary; Chapter 2: Introduction to Spring Boot; Technical requirements
  • Learning about Spring BootConvention over configuration and fat JAR files; Code examples for setting up a Spring Boot application; The magic @SpringBootApplication annotation; Component scanning; Java-based configuration; Beginning with Spring WebFlux; Code examples of setting up a REST service using Spring WebFlux; Starter dependencies; Property files; Sample RestController; Exploring SpringFox; Understanding Spring Data; Entity; Repositories; Understanding Spring Cloud Stream; Code examples for sending and receiving messages with Spring Cloud Stream; Learning about Docker; Summary
  • Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Section 1: Getting Started with Microservice Development Using Spring Boot; Chapter 1: Introduction to Microservices; Technical requirements; My way into microservices; Benefits of autonomous software components; Challenges with autonomous software components; Enter microservices; A sample microservice landscape; Defining a microservice; Challenges with microservices; Design patterns for microservices; Service discovery; Problem; Solution; Solution requirements; Edge server; Problem; Solution
  • QuestionsChapter 3: Creating a Set of Cooperating Microservices; Technical requirements; Tool installation; Installing Homebrew; Using Homebrew to install Java, curl, jq, and the Spring Boot CLI; Using an IDE; Accessing the source code; Introducing the microservice landscape; Information handled by microservices; Product service; Review service; Recommendation service; Product composite service; Infrastructure-related information; Temporarily replacing a discovery service; Generating skeleton microservices; Using Spring Initializr to generate skeleton code