Jet is an open-source, high-performance, distributed stream processor built at Hazelcast during the last five years. Jet was engineered with millisecond latency on the 99.99th percentile as its primary design goal. Originally Jet's purpose was to be an execution engine that performs complex business logic on top of streams generated by Hazelcast's In-memory Data Grid (IMDG): a set of high-performance, in-memory, partitioned and replicated data structures. With time, Jet evolved into a full-fledged, scale-out stream processor that can handle out-of-order streams and exactly-once processing guarantees. Jet's end-to-end latency lies in the order of milliseconds, and its throughput in the order of millions of events per CPU-core. This paper presents main design decisions we made in order to maximize the performance per CPU-core, alongside lessons learned, and an empirical performance evaluation.
Cite
@article{arxiv.2103.10169,
title = {Hazelcast Jet: Low-latency Stream Processing at the 99.99th Percentile},
author = {Can Gencer and Marko Topolnik and Viliam Ďurina and Emin Demirci and Ensar B. Kahveci and Ali Gürbüz Ondřej Lukáš and József Bartók and Grzegorz Gierlach and František Hartman and Ufuk Yılmaz and Mehmet Doğan and Mohamed Mandouh and Marios Fragkoulis and Asterios Katsifodimos},
journal= {arXiv preprint arXiv:2103.10169},
year = {2021}
}