Infinispan 9.4.11 released, distributed cluster cache system

Infinispan
Infinispan is an extremely scalable, highly available key/value data store and data grid platform. It is 100% open source and written in Java. The purpose of Infinispan is to expose a data structure that is distributed, highly concurrent and designed ground-up to make the most of modern multi-processor and multi-core architectures. It is often used as a distributed cache, but also as a NoSQL key/value store or object database.

Feature

In-memory local and clustered cache

  • Local, Invalidation, Replicated and Distributed cache modes
  • Specify how many copies of the data you want
  • Choose between storing object references or compact binary representations
  • Store data on-heap or off-heap

Clustering

  • UDP and TCP clustering
  • Multiple discovery algorithms for elastic node provisioning
  • Partition handling detects split brain scenarios and reduces availability to provide consistency in such situations
  • Cross-site clustering for geographic multiple site / disaster recovery scenarios
  • High-speed serialization built on JBoss Marshalling
  • Group entries so that they are co-located on the same node
  • Tune consistent hashing so that entries are stored on specific nodes

Expiration

  • Store immortal and mortal entries in the same cache
  • Entry mortality defined by lifespan or maximum idle time

Eviction

  • Define the maximum number of entries to be kept in memory
  • Define the maximum size of entries to be kept in memory
  • High performance LFU eviction strategy
  • Passivate evicted entries to a persistent store

Listeners

  • Register listeners to detect cache events
  • Support for local or clustered listeners
  • Pre- and post-notifications

Transactions

  • Concurrency control based on optimistic and pessimistic locks and total order
  • Support for XA and synchronization models
  • Support for Recovery
  • Integration with JTA/JTS

Persistence

  • Store data both in the cache and in an external persistent store
  • File, JDBC, JPA, Infinispan Remote Server, RocksDB stores available out-of-the-box

Indexing and querying

  • Indexed and indexless queries
  • Ickle, a query language with full-text capabilities
  • Grouping and aggregation
  • Continuous queries
  • Optionally stores indexes in the caches
  • Synchronous and asynchronous indexing engine
  • Lucene-based indexing powered by Hibernate Search
  • Elastic Search backend

Code execution

  • Distributed streams based on java.util.stream
  • Distributed executor
  • Server-side deployable tasks and scripts

Hot Rod Remote Protocol

  • High-performance, language-independent binary protocol
  • Topology-aware: Dynamically reacts to changes in the server nodes
  • Consistent-hash-aware: goes directly to the primary owner
  • Language-independent marshalling of data via ProtoBuf
  • Clients for Java, C++, C#, Python

Remote Server

  • HotRod, REST, Memcached and WebSocket
  • Compatibility mode ensures data portability between protocols
  • Deployable filters, converters and cache stores
  • Server-side code execution
  • Based on WildFly server code for performance, manageability and flexibility

Security

  • Cache and CacheManager authorization with support for custom auditing, optionally integrated with the JDK SecurityManager.
  • Remote client authentication based on SASL and integrated with the Security Realms in the server.
  • Clustering authentication and authorization integrated with the Security Realms in the server.

Configuration / Development

  • Fluent programmatic configuration API
  • Declarative XML configuration
  • Configuration templates
  • Single-jar for ease of integration
  • Atomic object factory supports other types of collections on top of Infinispan

Management and monitoring

  • Local and clustered statistics
  • Manage both embedded and server via JMX, RHQ and CLI
  • Web-based administration console for server

Integrations

  • JCache (JSR-107)
  • Hibernate second-level Cache
  • WildFly modules
  • Apache Lucene directory backed by Infinispan
  • Directory Provider for Hibernate Search
  • Spring Cache 3.x and 4.x
  • Spring Session
  • CDI
  • OSGi
  • Apache Spark
  • Apache Hadoop

Container/Cloud integrations

  • EC2
  • OpenShift/Kubernetes
  • Azure
  • Docker

Changelog v9.4.11

Core

  • Segmented off-heap data dontainer

 

Cache Stores

  • Segmented cache stores

 

Management, monitoring and logging

  • Hot Rod client-side statistics

 

Data Interoperability

  • Transcoding completely replaces compatibility mode

 

Infinispan Server

  • Rebased on WildFly 14

 

Hot Rod / REST

  • Transaction recovery over Hot Rod
  • Near-cache performance/reliability improvements

Download