-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Dervish is an framework that allows you to implement the Circuit Breaker pattern in your .NET applications. Dervish provides you with a number of different implementations of a circuit breaker ranging from a standard count of failures breaker to one that triggers on the percentage of failures in a rolling period of time. Additionally, Dervish provides you with hooks to monitor all failures regardless of if they resulted in a tripped breaker or not.
The initial idea for implementing the Circuit Breaker pattern struck me when reading the book Release It! Having the need for an implementation on a project I was lead to Tatham Oddie's Reliability Patterns library. I was able to successfully implement the library and the pattern for that project but I ran into some limitations.
From those limitations I did more research on the pattern and deep in the corners of the internet I found a blog that shed some light on one of the issues I was having. Emil Gustafsson's blog, Being Cellfish, has a number of posts that outline a series of different strategies for implementing the pattern. It's been a wealth of information and inspiration for many of the circuit breaker styles that I have implemented in dervish.
Between Emil, Tatham and Release It! the foundations of dervish were laid. I've added a few bits to solve some problems that I have encountered on projects. The following should get you started.
- How the circuit breaker pattern flows
- What can be put in a circuit breaker
- How to add a circuit breaker
- Different circuit breaker styles
- Managing circuit breaker exceptions