Book Image

Mastering Spring Boot 2.0

By : Dinesh Rajput
Book Image

Mastering Spring Boot 2.0

By: Dinesh Rajput

Overview of this book

Spring is one of the best frameworks on the market for developing web, enterprise, and cloud ready software. Spring Boot simplifies the building of complex software dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model. This book will address the challenges related to power that come with Spring Boot's great configurability and flexibility. You will understand how Spring Boot configuration works under the hood, how to overwrite default configurations, and how to use advanced techniques to prepare Spring Boot applications to work in production. This book will also introduce readers to a relatively new topic in the Spring ecosystem – cloud native patterns, reactive programming, and applications. Get up to speed with microservices with Spring Boot and Spring Cloud. Each chapter aims to solve a specific problem or teach you a useful skillset. By the end of this book, you will be proficient in building and deploying your Spring Boot application.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Circuit-breaker pattern


In distributed software systems, it is very common to make several remote calls to the services running in the different machines with different environments across a network. As you know, remote calls can fail due to the overload from clients without a response until a timeout limit is reached. So, it is a very serious problem for distributed systems. In monoliths, it is not very common to call remote services outside of the application, monoliths mostly require in-memory calls. There is a big difference between in-memory calls and remote calls, remote calls can fail.

The circuit-breaker can help prevent these failures in a distributed software system. The idea behind the circuit-breaker is very simple, you just create a circuit-breaker object for a remote function call that monitors for cascading failures in the distributed software systems. Every circuit-breaker has a threshold of failures, once it is reached, the circuit-breaker opens in the system. All further...