Reader small image

You're reading from  Kotlin Design Patterns and Best Practices - Third Edition

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805127765
Edition3rd Edition
Right arrow
Author (1)
Alexey Soshin
Alexey Soshin
author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin

Right arrow

Circuit Breaker

The Circuit Breaker design pattern, inspired by electrical engineering, is essential for managing service availability in software systems. Its primary role is to protect an overloaded service by failing fast, thus maintaining system stability and preventing cascading failures in distributed systems.

The Circuit Breaker implements the State design pattern, and it has three states:

  1. Closed State:
    1. The default state where requests are processed normally.
    2. Each exception increments a failure counter.
    3. The Circuit Breaker transitions to the Open state when the failure counter exceeds a specified threshold (maxFailures).
    4. A successful request resets the failure count to zero.
  2. Open State:
    1. In this state, the Circuit Breaker short-circuits all requests by throwing an ExecutionRejected exception.
    2. If a request is made after a configured reset timeout, the breaker transitions to the Half...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Kotlin Design Patterns and Best Practices - Third Edition
Published in: Apr 2024Publisher: PacktISBN-13: 9781805127765

Author (1)

author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin