PHPackages                             leyton/laravel-circuit-breaker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. leyton/laravel-circuit-breaker

ActiveLibrary[Caching](/categories/caching)

leyton/laravel-circuit-breaker
==============================

The Laravel implementation for The Circuit breaker pattern

1.0.1(7mo ago)31.0k↓77.5%1MITPHPPHP ^8.0

Since May 17Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/cognitx-leyton/laravel-circuit-breaker)[ Packagist](https://packagist.org/packages/leyton/laravel-circuit-breaker)[ RSS](/packages/leyton-laravel-circuit-breaker/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Laravel Circuit Breaker
=======================

[](#laravel-circuit-breaker)

> A Laravel implementation of the Circuit Breaker pattern to prevent cascading failures in distributed systems.

[![Stars](https://camo.githubusercontent.com/5ff49dd844df2b92197fb729bb9616091175fa5ce5dc4629b4cd337a88500817/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f636f676e6974782d6c6579746f6e2f6c61726176656c2d636972637569742d627265616b65723f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/5ff49dd844df2b92197fb729bb9616091175fa5ce5dc4629b4cd337a88500817/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f636f676e6974782d6c6579746f6e2f6c61726176656c2d636972637569742d627265616b65723f7374796c653d666c61742d737175617265) [![PHP](https://camo.githubusercontent.com/aca845a5c76bc67de06a79152ffa0dec8bcb1697a5b5624a04d5690734506124/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e302d3838393242463f7374796c653d666c61742d737175617265266c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/aca845a5c76bc67de06a79152ffa0dec8bcb1697a5b5624a04d5690734506124/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e302d3838393242463f7374796c653d666c61742d737175617265266c6f676f3d706870266c6f676f436f6c6f723d7768697465) [![Laravel](https://camo.githubusercontent.com/754bb621c8c6c644ab217658ab9ba3656c12ffa41d507ac29c6a4c8934ad086a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d382e782d2d31322e782d4646324432303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/754bb621c8c6c644ab217658ab9ba3656c12ffa41d507ac29c6a4c8934ad086a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d382e782d2d31322e782d4646324432303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465)

Table of Contents
-----------------

[](#table-of-contents)

- [Motivation](#motivation)
- [Installation](#installation)
- [Usage](#usage)

---

Motivation
----------

[](#motivation)

The Circuit Breaker Pattern is essential for ensuring your software's resilience. It prevents failures from spreading, maintaining operational stability even when services encounter issues. By providing visual feedback and improving user experience, it keeps your application running smoothly. Additionally, it simplifies maintenance and troubleshooting, enabling quicker problem resolution. Overall, integrating the Circuit Breaker Pattern is crucial for enhancing reliability and user satisfaction.

[![Circuit Breaker states](https://private-user-images.githubusercontent.com/12276076/331288810-64e09281-f2c0-4cd2-9b7f-f268bc6e779a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMyMzQwMDEsIm5iZiI6MTc4MzIzMzcwMSwicGF0aCI6Ii8xMjI3NjA3Ni8zMzEyODg4MTAtNjRlMDkyODEtZjJjMC00Y2QyLTliN2YtZjI2OGJjNmU3NzlhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzA1VDA2NDE0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5ZmJlNTcwZjIyMzdmZjQ1ZTE1YWQ1ZDRkMGM3NDc3MzBlNDg1NzgyYzg0MDg3OTdjNTZiYWU0ZGFiMmQ3MWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.zKjlIOk75d1fNZmnMtms3TQaDjuCbIQNQuHzCG2PiFM)](https://private-user-images.githubusercontent.com/12276076/331288810-64e09281-f2c0-4cd2-9b7f-f268bc6e779a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMyMzQwMDEsIm5iZiI6MTc4MzIzMzcwMSwicGF0aCI6Ii8xMjI3NjA3Ni8zMzEyODg4MTAtNjRlMDkyODEtZjJjMC00Y2QyLTliN2YtZjI2OGJjNmU3NzlhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzA1VDA2NDE0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5ZmJlNTcwZjIyMzdmZjQ1ZTE1YWQ1ZDRkMGM3NDc3MzBlNDg1NzgyYzg0MDg3OTdjNTZiYWU0ZGFiMmQ3MWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.zKjlIOk75d1fNZmnMtms3TQaDjuCbIQNQuHzCG2PiFM)

You can find more detailes about this pattern here [Circuit Breaker Pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker)

Installation
------------

[](#installation)

```
composer require leyton/laravel-circuit-breaker

```

After the installation make sure to publish the assets

```
php artisan vendor:publish --provider="Leyton\LaravelCircuitBreaker\LaravelCircuitBreakerServiceProvider"

```

You will find the `config/circuit-breaker.php` file containing all the configurations needed.

```
