Netflix Hollow library for disseminating in-memory datasets from a single producer to many consumers
Hollow is a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-only access.Hollow aggressively addresses the scaling challenges of in-memory datasets, and is built with servers busily serving requests at or near maximum capacity in mind.
Due to its performance characteristics, Hollow shifts the scale in terms of appropriate dataset sizes for an in-memory solution. Datasets for which such liberation may never previously have been considered can be candidates for Hollow.
Hollow simultaneously targets three goals:
- Maximum development agility – capability to automatically generate a custom API based on a specific data model, so that consumers can intuitively interact with the data, with the benefit of IDE code completion.
- Highly optimized performance and resource management – Hollow automatically calculates the changes in a dataset on the producer. Instead of retransmitting the entire snapshot of the data for each update, only the changes are disseminated to consumers to keep them up to date.
- Extreme stability and reliability – Hollow has been battle-hardened over more than two years of continuous use at Netflix. Hollow is used to represent crucial datasets, essential to the fulfillment of the Netflix experience, on servers answering live customer requests.
Quick start guide : http://hollow.how/quick-start/
Documentation : http://hollow.how.