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.
翻译:喷气机是过去五年来在海兹罗特建造的开放源码、高性能、分布式流处理器。喷气机的主要设计目标是在99.99百分位上以毫秒的延缓度进行工程设计。最初的喷气机的目的是在海兹罗特的内模数据网(IMG)生成的流流之上执行复杂的商业逻辑:一套高性能、内模、分离和复制的数据结构。随着时间的推移,喷气机演变成一个成熟的、规模化流处理器,能够处理出序流和完全的处理保证。喷气机的端到终端的延缓度以毫秒的顺序排列,其吞吐量以百万个事件的顺序排列,每个CPU核心。本文介绍了我们为最大限度地提高CPU核心的性能而做出的主要设计决定,并附有经验教训和实证业绩评估。