Abstract Scala storage framework with high-level API for handling linked lists of polymorphic data (feeds).
KVS is highly available distributed (AP) strong eventual consistent (SEC) and sequentially consistent (via cluster sharding) storage. It is used for data from sport and games events. In some configurations used as distributed network file system. Also can be a generic storage for application.
Designed with various backends in mind and to work in pure JVM environment. Implementation based on top of KAI (implementation of Amazon DynamoDB in Erlang) port with modification to use akka-cluster infrastructure.
Currently main backend is RocksDB to support embedded setup alongside application. Feed API (add/entries/remove) is built on top of Key-Value API (put/get/delete).
Add project as a git submodule.
./feed
-- Feed over Ring./search
-- Seach over Ring./sort
-- Sorted Set on Ring./ring
-- Ring on Akka Cluster./sharding
-- Sequential Consistency & Cluster Sharding./src
-- Example apps and tests
sbt test
sbt run