Roshi: A large-scale CRDT set implementation for timestamped events
Roshi implements a set data type, specifically the Last Writer Wins element set (LWW-element-set). If a Roshi instance crashes, two types of state are lost:
Since all operations are idempotent, both failure modes do not impede on convergence of the data. Assuming a replication factor of 3, and a write quorum of 2 nodes, Roshi makes the following guarantees in the presence of failures of Redis instances that represent the same data shard:
Failures of Redis instances over independent data shards don’t affect instantaneous data durability.
Source: github.com