Resiliency patterns for golang. Based in part on Hystrix, Semian, and others.
Currently implemented patterns include:
- circuit-breaker (in the
breakerdirectory) - semaphore (in the
semaphoredirectory) - deadline/timeout (in the
deadlinedirectory) - batching (in the
batcherdirectory) - retriable (in the
retrierdirectory)
Note: I will occasionally bump the minimum required Golang version without bumping the major version of this package, which violates the official Golang packaging convention around breaking changes. Typically the versions being dropped are multiple years old and long unsupported.