Skip to content
A functional library for consistent replication of metadata across dynamic clusters
Scala
Branch: develop
Clone or download

README.md

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:

You can’t perform that action at this time.