HomeIndex > Caching

Vision

The idea is to provide a single API (essentially java.util.Map) that will allow Geronimo (and POJO's for that matter) to cache objects. Some aspects of the API and impl;

  • The API will be the same for clients regardless of the configured implementation.
  • The impl will be specified via configuration
  • The impl will work for pojo's as well as within/part of Geronimo
  • Transport, Storage, Topology and Cache are all loosely coupled

Toplogies Supported

A topology refers to the way the cache node(s) are laied out across a network and how the clients of the cache interact with the cache.

  • Local - in memory, not replicated, no redundency, very fast read & write
  • Fully Replicated - locally in memory but replicated to other caches, redundant, very fast local read, write depends on transport impl choosen
  • Distributed - partially replicated, partially remote

Topologies Envisioned

  • Fully Remote - a cache that is remote to all clients, use full in some situations for access to expensive to find or generate information that is accessed infrequently. Other use cases I'm sure apply here.

Current State

The current state is very alpha and more or less in a proof of concept state but many things do work.

Stuff that does work

Stuff that does not work but is in progress

  • Fully Replicated Cache
    • UDP Transport
    • Active IO Transport