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.
- 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).
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.
Foundations:
- Conflict-free Replicated Data Types
- CRDTs illustrated
- Strong Eventual Consistency and Conflict-free Replicated Data Types
Production experiences:
For an in-depth understanding of the topic, make sure to check out the materials listed in this blog post.
Foundations:
- Epidemic Algorithms for Replicated Database Maintenance
- Understanding Gossip Protocols
- The Promise, and Limitations, of Gossip Protocols
Production experiences: