No description, website, or topics provided.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md
pom.xml

README.md

What is ZooCache

ZooCache is a simple cache implementation on top of ZooKeeper™

Main Features

  1. A cache with ZooKeeper capabilities (fault tolerance, distributed, performance (see here for example)
  2. TTL for items
  3. Can use a local shadow (simple LRU cache) to save on network calls
  4. Ability to invalidate local shadow even if TTL has not passed
  5. 3 APIs - synchronous, Async (returns scala Futures) and Actor

The project is currently compiled and tested with Scala 2.9.1

General note ZooKeeper is not the perfect ultimate cache due to some zookeeper known limitations. Thus, please note the following caveats:

  • ZooKeeper has a 1MB transport limitation. For now a single cache node (systemID) can hold around 10K items (sharding of keys to create deeper will be added later)
  • The startup can be slow on large ZNode so keep TTLs low for larger caches
  • ZooKeeper can start to perform badly if there are many nodes with thousands of children.
  • all data is kept in memory, all nodes contains exact replica of the data

Sponsors

NICE

NICE Systems (NASDAQ: NICE), is the worldwide leader of intent-based solutions that capture and analyze interactions and transactions, realize intent, and extract and leverage insights to deliver impact in real time.

Contributors

Arnon Rotem-Gal-Oz

Open Source Projects in Use