Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

svroonland/rezilience

ZIO-native utilities for making resilient distributed systems

svroonland/rezilience.json
{
"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"
}

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:

  • CircuitBreaker
  • Bulkhead
  • RateLimiter
  • Retry
  • Timeout
  • Type-safety: all errors that can result from any of the rezilience policies are encoded in the method signatures, so no unexpected RuntimeExceptions.
  • Support for your own error types (the E in ZIO[R, E, A]) instead of requiring your effects to have Exception as error type
  • Lightweight: rezilience uses 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 rezilience policies are handled properly.
  • Thread-safe: all policies are safe under concurrent use.
  • ZIO integration: some policies take for example ZIO Schedules and rezilience tries 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

Further questions? Look for the #rezilience channel on the ZIO Discord: https://discord.gg/2ccFBr4

Sonatype Nexus (Releases) Sonatype Nexus (Snapshots)

Add to your build.sbt:

libraryDependencies += "nl.vroste" %% "rezilience" % "<version>"

If you are using this library and find it useful, please consider adding your company or project to the list below!