Skip to content
Donald Belcham edited this page Aug 6, 2014 · 7 revisions

Dervish is an framework that allows you to implement the Circuit Breaker pattern in your .NET applications.

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