What is
Hazelcast?
Hazelcast is an open source clustering and highly scalable data distribution platform for Java.
Features:
- Distributed implementations of java.util.{Queue, Set, List, Map}
- Distributed implementation of java.util.concurrency.locks.Lock
- Distributed implementation of java.util.concurrent.ExecutorService
- Distributed Topic for publish/subscribe messaging
- Transaction support and J2EE container integration via JCA
- Dynamic HTTP session clustering
- Support for cluster info and membership events
- Dynamic discovery
- Dynamic scaling to hundreds of servers
- Dynamic partitioning with backups
- Dynamic fail-over
Hazelcast is for you if you want to
- share data/state among many servers (e.g. web session sharing)
- cache your data (distributed cache)
- cluster your application
- partition your in-memory data
- distribute workload onto many servers
- take advantage of parallel processing
- provide fail-safe data management
Hazelcast is released under Apache License and the project is hosted at
http://code.google.com/p/hazelcast. It can be
freely used in commercial or non-commercial applications and can be described as:
- Lightening-fast; thousands of operations per sec.
- Fail-safe; no losing data after crashes.
- Dynamically scales to hundreds of servers.
- Super-easy to deploy and use (include a single jar).
Hazelcast is pure Java. 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 enviroments 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.
A test application comes with the Hazelcast distribution that simulates
the queue, set, map and lock APIs. You may want to watch the following 12 minute screencast to quickly get started.
