Enterprise quality distributed cache with open source freedom!

Hazelcast - Data Grid

In today's business world, companies with high transaction volumes and increasing number of users need scalable and non-stop applications. It is quite rare to see one server application in such environments.

As we start running applications on several servers in order to scale and be fail-safe, we quickly realize that we might need to share data among servers or cache data to achieve faster response times while trying to avoid single point of failures.

Hazelcast allows you to easily share and partition your application data across your cluster. Hazelcast is a peer-to-peer solution (there is no master node, every node is a peer) so there is no single point of failure.

Simplicity matters a lot when designing and developing large systems. Simplicity matters a lot more when applications are distributed. It should be a pleasure for an architect to design and a developer to build otherwise it can lead to complex design and development which will also be nightmare to maintain.

Hazelcast is simple! JVMs that are running Hazelcast will dynamically cluster. Although by default Hazelcast will use multicast for discovery, it can also be configured to only use TCP/IP for environments where multicast is not available or preferred. Communication among cluster members is always TCP/IP with Java NIO beauty. Default configuration comes with 1 backup so if one node fails, no data will be lost. It is as simple as using java.util.{Queue, Set, List, Map}. Just add the hazelcast.jar into your classpath and start coding.

Features

  • Distributed java.util.{Queue, Set, List, Map}
  • Distributed java.util.concurrency.locks.Lock
  • Distributed java.util.concurrent.ExecutorService
  • Distributed MultiMap for one to many mapping
  • Distributed Topic for publish/subscribe messaging
  • Distributed Indexing and Query support
  • Transaction support and J2EE container integration via JCA
  • Socket level encryption for secure clusters
  • Write-Through and Write-Behind persistence for maps
  • Java Client for accessing the cluster remotely
  • Dynamic HTTP session clustering
  • Support for cluster info and membership events
  • Dynamic discovery
  • Dynamic scaling
  • Dynamic partitioning with backups
  • Dynamic fail-over
  • Web-based cluster monitoring tool

When Hazelcast?

Hazelcast will help you when you need to:

  • Share data/state among many servers (e.g. web session sharing)
  • Cache your data (distributed cache)
  • Cluster your application
  • Provide secure communication among servers
  • Partition your in-memory data
  • Distribute workload onto many servers
  • Take advantage of parallel processing
  • Provide fail-safe data management

For more info please visit the documentation page.