Easy Exactly Once Guaranteed Processing for Your Stream

Edward 5-7

Today’s Processing must be fault tolerant and continuously adapt to changing data flows. 

Distributed systems typically offer several levels of guaranteed message delivery, including at-least once processing, at-most once processing, and exactly once processing. Most streaming architects often deploy a distributed message platform with an at least-once guarantee, which guarantees that the message will be sent, but with the caveat that it’s possible some messages may be duplicated. These cases where you can get the same message twice is a very typical distributed system problems when networks are unreliable. When you publish a message and you don’t hear back, you either lost it or you didn’t, and so you try to send it again and that’s when you introduce a duplicate.

In today's mission critical streaming applications, you can't miss a transaction that might end a life, wreck a car or ruin your companies reputation!  Because performance matters when dealing with streaming data, in-memory processing, and in-memory data is key. Keeping data in motion is important for the application performance. Organizations building real-time stream processing systems need to use an in-memory paradigm and be able to use any message broker and trust the platform to deliver each message exactly once. 

Learn how to build in-memory applications on streaming data that do exactly one guaranteed processing without you having to code the needed guarantees into the applications.  We will discuss how to build, monitor, and manage ultra-high performance, fault tolerant stream based systems with extreme ease.



Profile picture for user colin@neeveresearch.com
Head of Engineering
Neeve Research
Colin MacNaughton is a software industry veteran with over 15 years of building ultra low latency applications for trading and e-commerce. While he works in many languages, his favorite for enterprise applications is still Java. Colin leads the engineering and support teams for Neeve Research and spends his days and nights finding ways to make building in memory applications in Java both easier and faster.