Java Caching System (JCS)
JCS is a distributed
caching system written in java for server-side java applications. It is intended to speed up dynamic web
applications by providing a means to manage cached data of various dynamic
natures. Like any caching system, the
JCS is most useful for high read, low put applications. Dynamic content and reporting systems can
benefit most. However, any site that
repeatedly constructs pages, dropdowns, or common search results form a
database that is updated at intervals (rather than across categories
continuously) can improve performance and scalability by implementing
caching. Latency times drop sharply and
bottlenecks move away from the database in an effectively cached system.
The JCS goes beyond
simply caching objects in memory. It
provides several important features, necessary for any Enterprise level caching
system:
·
Memory management
·
Disk overflow (and
defragmentation)
·
Element grouping
·
Quick nested
categorical removal
·
Data expiration
·
Extensible framework
·
Fully configurable
runtime parameters
·
Remote synchronization
·
Remote store recovery
·
Non-blocking “zombie”
(balking façade) pattern
·
Optional lateral
distribution of elements via (HTTP, TCP, or UDP)
·
Remote server
clustering and failover (almost complete)
These features provide a framework with no point of failure, allowing
for full session failover including session data across up to 256 servers.