circuit

(β˜… 815)

An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.

  • .gitignore
  • .golangci.yml
  • circuit.go
  • circuit_bench_test.go
  • circuit_property_test.go
  • circuit_regression_test.go
  • circuit_stress_test.go
  • circuit_test.go
  • closers.go
  • closers_test.go
  • config.go
  • config_test.go
  • doc.go
  • errors.go
  • errors_test.go
  • example_test.go
  • expvar_test.go
  • go.mod
  • go.sum
  • gowrapper.go
  • gowrapper_test.go
  • LICENSE.txt
  • Makefile
  • manager.go
  • manager_stress_test.go
  • manager_test.go
  • metrics.go
  • README.md
  • renovate.json
  • UPGRADE_GUIDE.md

# Installation Guide

1. Get the code
git clone https://github.com/cep21/circuit

Downloads the entire project code from GitHub to your computer.

cd circuit

Moves into the project folder you just downloaded.

2. Go

Medium Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Go The Go compiler and toolchain.
go run example/main.go

Runs the Go program directly without a separate build step.

βœ… If the build finishes without errors, it worked. If you used go run ., check the terminal output.

Pulled directly from this repo's README.

3. Make

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make # fast dev loop: build + test + lint (~5s)

Compiles the code based on the generated build configuration to produce an executable.

make ci # everything CI runs β€” use before submitting a PR (~1min)

Compiles the code based on the generated build configuration to produce an executable.

make fuzz # active fuzzing (FUZZTIME per target, default 30s)

Compiles the code based on the generated build configuration to produce an executable.

make help # full target list

Compiles the code based on the generated build configuration to produce an executable.

βœ… If it finishes without errors, it worked. Try running the generated executable directly.

Pulled directly from this repo's README.

// repository documentation