Native Apache Kafka Integration in the Striim Platform
Tight Integration Enables Streaming Replay, Application Decoupling, and Event Processing Guarantee
Apache Kafka is now embedded within the Striim platform. Now, if you choose, you no longer need to maintain a Kafka cluster, or mess with your Kafka tier, to deliver streaming integration and analytics. This native Kafka integration opens the door to several new areas of functionality across multiple domains.
What makes this most interesting is the ability for the platform, with the flip of a switch, to turn any non-rewindable data source into a recoverable stream. We call this “Streaming Replay.”
For recovery to work, sources need to be rewindable. This isn’t a problem if you’re reading from a database or files, as long as you have the logs. But if you’re reading from a message queue or a protocol that pushes data to you, once it’s sent to you, you can’t ask the originating source to send it to you again. Unfortunately, you can’t recover what you can’t replay.
By utilizing persistent messaging such as Apache Kafka, Striim can store the events, rewind, replay and recover state.
Another advantage of Streaming Replay is that it allows your applications to run independently, even if they are driven off of the same streaming data source. Imagine you have five applications and one of them goes down. Traditionally, you would need to rewind the source, affecting all five applications. The other four would get the same data all over again.
Leveraging Striim’s embedded Kafka integration, you can recover one of these applications while the source continues to generate streaming data, restarting the application from the point where it left off. Also, all applications can read the same streaming data at different speeds.
Parallel Kafka streams can also act as an intermediary, persistent store so that you can be sure you’re processing all of your data “once and only once.” This provides an event processing guarantee if you need exactly-once processing.
The ability to recover any streaming data source, and to guarantee that your data and events are processed exactly once, further validates why the Striim platform is one of the most enterprise-grade streaming solutions available.