Skip to content

A purely-functional library for fault-tolerant distribution of work across dynamic clusters with declarative, composable, and type-safe semantics

License

Notifications You must be signed in to change notification settings

scala-steward/scalaz-distributed

 
 

ZIO keeper

CircleCI Gitter

ZIO keeper is a purely-functional, type-safe library for managing distributed state in a strong eventually consistent manner, backed by Conflict-free Replicated Data Types and ZIO.

Goals

  • Dynamic cluster formation and management via Gossip protocol.
  • Support subscribing to cluster events (e.g. node joining or leaving).
  • Access and store values using their key and type. Stored data will have one of the following types: bool, long, string, set, map.
  • Support subscribing to value updates (e.g. modified, removed).

Background readings

The following section contains the list of papers and videos that explain the basic building blocks of the library. For an introduction to distributed systems in general, make sure to check out Distributed Systems for Fun and Profit.

Conflict-free Replicated Data Types

Foundations:

Production experiences:

For an in-depth understanding of the topic, make sure to check out the materials listed in this blog post.

Gossip

Foundations:

Production experiences:

About

A purely-functional library for fault-tolerant distribution of work across dynamic clusters with declarative, composable, and type-safe semantics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%