Master the art of implementing scalable and reactive microservices in your production environment with Java 11
Key Features
Use domain-driven designs to build microservices
Explore various microservices design patterns such as service discovery, registration, and API Gateway
Use Kafka, Avro, and Spring Streams to implement event-based microservices
Book Description
Microservices are key to designing scalable, easy-to-maintain applications. This latest edition of Mastering Microservices with Java, works on Java 11. It covers a wide range of exciting new developments in the world of microservices, including microservices patterns, interprocess communication with gRPC, and service orchestration.
This book will help you understand how to implement microservice-based systems from scratch. You’ll start off by understanding the core concepts and framework, before focusing on the high-level design of large software projects. You’ll then use Spring Security to secure microservices and test them effectively using REST Java clients and other tools. You will also gain experience of using the Netflix OSS suite, comprising the API Gateway, service discovery and registration, and Circuit Breaker. Additionally, you’ll be introduced to the best patterns, practices, and common principles of microservice design that will help you to understand how to troubleshoot and debug the issues faced during development.
By the end of this book, you’ll have learned how to build smaller, lighter, and faster services that can be implemented easily in a production environment.
What you will learn
Use domain-driven designs to develop and implement microservices
Understand how to implement microservices using Spring Boot
Explore service orchestration and distributed transactions using the Sagas
Discover interprocess communication using REpresentational State Transfer (REST) and events
Gain knowledge of how to implement and design reactive microservices
Deploy and test various microservices
Who this book is for
This book is designed for Java developers who are familiar with microservices architecture and now want to effectively implement microservices at an enterprise level. Basic knowledge and understanding of core microservice elements and applications is necessary.
Table of Contents
A Solution Approach
Environment Setup
Domain Driven Design
Implementing microservices
Microservice Patterns – Part 1
Microservice Patterns – Part 2
Securing Microservices
Consuming services using a Microservice WEB application
Inter-process communication using REST
Inter-process communication using gRPC
Inter-process communication using Events
Transaction Management
Service Orchestration
Troubleshooting Guide
Best practices and common principles
Converting a Monolithic App to a Microservice-Based App