scala-circuit-breaker - A circuit breaker for Scala applications and services

  •        6

A circuit breaker monitors the number of failed requests and decides to delay sending further requests based on configurable threshold. Read more about circuit breakers. Failure threshold, delay time, failure criteria, and event listeners are configurable in config file and code. Our solution has been powering Scala services in production. It's battle tested and proven.

https://github.com/hootsuite/scala-circuit-breaker

Tags
Implementation
License
Platform

   




Related Projects

circuitbreaker - Circuit Breakers in Go

  •    Go

Circuitbreaker provides an easy way to use the Circuit Breaker pattern in a Go program.Circuit breakers are typically used when your program makes remote calls. Remote calls can often hang for a while before they time out. If your application makes a lot of these requests, many resources can be tied up waiting for these time outs to occur. A circuit breaker wraps these remote calls and will trip after a defined amount of failures or time outs occur. When a circuit breaker is tripped any future calls will avoid making the remote call and return an error to the caller. In the meantime, the circuit breaker will periodically allow some calls to be tried again and will close the circuit if those are successful.

Polly - Polly is a

  •    CSharp

Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.Polly targets .NET 4.0, .NET 4.5 and .NET Standard 1.1 (coverage: .NET Core, Mono, Xamarin.iOS, Xamarin.Android, UWP, WP8.1+).

guard - NOT MAINTAINED! A generic high performance circuit breaker & proxy server written in Go

  •    Go

NOT MAINTAINED! A generic high performance circuit breaker & proxy server written in Go

gobreaker - Circuit Breaker implemented in Go

  •    Go

gobreaker implements the Circuit Breaker pattern in Go.The struct CircuitBreaker is a state machine to prevent sending requests that are likely to fail. The function NewCircuitBreaker creates a new CircuitBreaker.

fuse - A Circuit Breaker for Erlang

  •    Erlang

This application implements a so-called circuit-breaker for Erlang. NOTE: If you need to access FUSE (Filesystem in Userspace) then this is not the project you want. An Erlang implementation can be found in the fuserl project, https://code.google.com/p/fuserl/ or https://github.com/tonyrog/fuserl gives the pointers.


Heimdall - An enhanced HTTP client for Go

  •    Go

Heimdall is an HTTP client that helps your application make a large number of requests, at scale. With Heimdall, you can use a hystrix-like circuit breaker to control failing requests, Add synchronous in-memory retries to each request, with the option of setting your own retrier strategy, Create clients with different timeouts for every request.

Missive

  •    

Missive is a lightweight API that you use to send and handle messages in place of calling methods directly to achieve 3 goals: * Inversion of Control * Asynchronous execution * Stability through patterns (circuit breaker, message timeout, resource pooling) Missive loo...

Sapit - Small And Powerful Integration Toolkit

  •    

Sapit is an implementation of integration patterns and techniques. Included are Cache, Circuit Breaker, Response Time Throttle and Timeout. Apply these to your code using Aspect Oriented Programming (AOP) via Castle Windsor, PostSharp or Unity Application Block. More to come ...

pg - PostgreSQL ORM for Golang with focus on PostgreSQL features and performance

  •    Go

PostgreSQL ORM for Golang with focus on PostgreSQL features and performance. It supports Basic types, Multidimensional Arrays, Transactions, Prepared statements, Queries retries on network errors, Automatic connection pooling with circuit breaker support, Bulk/batch inserts and updates, Pagination and URL filters helpers, Migrations, Sharding and lot more.

semian - :monkey: Resiliency toolkit for Ruby for failing fast

  •    Ruby

Semian is a library for controlling access to slow or unresponsive external services to avoid cascading failures.Resource drivers are monkey-patched to be aware of Semian, these are called Semian Adapters. Thus, every time resource access is requested Semian is queried for status on the resource first. If Semian, through the patterns above, deems the resource to be unavailable it will raise an exception. The ultimate outcome of Semian is always an exception that can then be rescued for a graceful fallback. Instead of waiting for the timeout, Semian raises straight away.

Istio - An open platform to connect, manage, and secure microservices

  •    Go

An open platform to connect, manage, and secure microservices. Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.

Samples - Steeltoe Sample Applications

  •    Javascript

All new development is done on the dev branch. More stable versions of the samples can be found on the master branch. If you are looking for documentation on how to use the Steeltoe components, you can find that here.

heimdall - An enhanced HTTP client for Go

  •    Go

All HTTP methods are exposed as a fluent interface. This package can be used by adding the following import statement to your .go files.

cello - Genetic circuit design automation

  •    Java

The Cello input is a high-level logic specification written in Verilog, a hardware description language. The code is parsed to generate a truth table, and logic synthesis produces a circuit diagram with the genetically available gate types to implement the truth table. The gates in the circuit are assigned using experimentally characterized genetic gates. In assignment, a predicted circuit score guides a breadth-first search, or a Monte Carlo simulated annealing search. The assignment with the highest score is chosen, and this assignment can be physically implemented in a combinatorial number of different genetic layouts. The Eugene language is used for rule-based constrained combinatorial design of one or more final DNA sequence(s) for the designed circuit. Verilog programs start with a module keyword, followed by the module name, followed by the list of output and input wire names. Within a module definition, Cello currently parses three forms of Verilog: case statements, assign statements, and structural elements (examples below). Verilog code can be entered using a text editor and saved with a .v extension.

Circuit Diagram

  •    CSharp

Circuit Diagram enables you to make electronic circuit diagrams and export them as images.

Wall Breaker v1.0

  •    CSharp

Wall Breaker is 2D game written in C# with support of DirectX,it's very simple and interesting ,but different than others ball breaking games.Try it and see what i was mean by that!

File Breaker

  •    C++

File Breaker is a very stable aplication written in C++ for Windows to break files to a less size parts and save this parts on diferents devices. Use windows explorer context menu to easier use and a fast process. Copyright 2008 Damian Nohales.

Quite Universal Circuit Simulator

  •    C++

Qucs is a circuit simulator with graphical user interface. The software aims to support all kinds of circuit simulation types, e.g. DC, AC, S-parameter, Transient, Noise and Harmonic Balance analysis. Pure digital simulations are also supported.

circuit - Circuit: Dynamic cloud orchestration http://gocircuit.org

  •    Go

The CIRCUIT is a new way of thinking. It is deceptively similar to existing software, while being quite different.Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.