Gizzard
Framework for creating eventually-consistent distributed datastores
Gizzard is a Scala framework originally developed by Twitter for building scalable, fault-tolerant, distributed key-value stores that can be sharded and replicated. It provides infrastructure for routing requests through shard trees, splitting or rebalancing shards dynamically, failover, and migrations. In Gizzard, data is stored in underlying storage shards (which could be databases or other stores) and Gizzard handles the process of routing requests correctly as the cluster topology changes. Gizzard's architecture is designed for operational flexibility: you can change the shard layout over time, reassign replicas, migrate data between nodes, and have requests redirected during transitions. ...