svroonland/rezilience
ZIO-native utilities for making resilient distributed systems
{ "createdAt": "2020-05-16T13:26:53Z", "defaultBranch": "master", "description": "ZIO-native utilities for making resilient distributed systems", "fullName": "svroonland/rezilience", "homepage": "https://www.vroste.nl/rezilience", "language": "Scala", "name": "rezilience", "pushedAt": "2025-10-26T07:25:45Z", "stargazersCount": 160, "topics": [ "bulkhead", "circuit-breaker", "fault-tolerance", "scala", "zio" ], "updatedAt": "2025-10-22T08:29:21Z", "url": "https://github.com/svroonland/rezilience"}Rezilience
Section titled “Rezilience”Use and like this library? Consider sponsoring its ongoing development and maintenance
rezilience is a ZIO-native collection of policies for making asynchronous systems more resilient to failures.
It is inspired by Polly, Resilience4J and Akka.
It consists of these policies:
CircuitBreakerBulkheadRateLimiterRetryTimeout
Features / Design goals
Section titled “Features / Design goals”- Type-safety: all errors that can result from any of the
reziliencepolicies are encoded in the method signatures, so no unexpected RuntimeExceptions. - Support for your own error types (the
EinZIO[R, E, A]) instead of requiring your effects to haveExceptionas error type - Lightweight:
rezilienceuses only ZIO fibers and will not create threads or block - Switchable at runtime with two transition modes
- Resource-safe: built on ZIO’s
ZManaged, any allocated resources are cleaned up safely after use. - Interrupt safe: interruptions of effects wrapped by
reziliencepolicies are handled properly. - Thread-safe: all policies are safe under concurrent use.
- ZIO integration: some policies take for example ZIO
Schedules andreziliencetries to help type inference using variance annotations - Metrics: all policies (will) provide usage metrics for monitoring purposes
- Composable: policies can be composed into one overall policy
- Discoverable: no syntax extensions or implicit conversions, just plain scala
Documentation
Section titled “Documentation”Further questions? Look for the #rezilience channel on the ZIO Discord: https://discord.gg/2ccFBr4
Installation
Section titled “Installation”Add to your build.sbt:
libraryDependencies += "nl.vroste" %% "rezilience" % "<version>"Used by
Section titled “Used by”If you are using this library and find it useful, please consider adding your company or project to the list below!