Master the art of implementing scalable and reactive microservices in your production environment with Java 11
- 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
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