Hazelcast

In computing, Hazelcast is a unified real-time data platform based on Java that combines a fast data store with stream processing. It is also the name of the company developing the product. The Hazelcast company is funded by venture capital and headquartered in Palo Alto, California.

In a Hazelcast grid, data is evenly distributed among the nodes of a computer cluster, allowing for horizontal scaling of processing and available storage. Backups are also distributed among nodes to protect against failure of any single node.

Hazelcast can run on-premises, in the cloud (Amazon Web Services, Microsoft Azure, Cloud Foundry, OpenShift), virtually (VMware), and in Docker containers. The Hazelcast Cloud Discovery Service Provider Interface (SPI) enables cloud-based or on-premises nodes to auto-discover each other.

The Hazelcast platform can manage memory for many types of applications. It offers an Open Binary Client Protocol to support APIs for any binary programming language. The Hazelcast and open-source community members have created client APIs for programming languages that include Java, .NET, C++, Python, Node.js and Go.

Usage
Typical use-cases for Hazelcast include:
 * Application scaling
 * Cache-as-a-service
 * Cross-JVM communication and shared storage
 * Distributed cache, often in front of a database
 * In-memory processing and Analytics
 * In-memory computing
 * Internet of Things infrastructure
 * Key-value database
 * Memcached alternative with a protocol compatible interface
 * Microservices infrastructure
 * NoSQL data store
 * Spring Cache
 * Web Session clustering

Vert.x utilizes it for shared storage.

Hazelcast is also used in academia and research as a framework for distributed execution and storage.


 * Cloud2Sim leverages Hazelcast as a distributed execution framework for CloudSim cloud simulations.


 * ElastiCon distributed SDN controller uses Hazelcast as its distributed data store.


 * ∂u∂u uses Hazelcast as its distributed execution framework for near duplicate detection in enterprise data solutions.