Welcome to the second part of our Snippets series on real-time stream processing using Apache Kafka! To recap, in part one we introduced stream processing and discussed some of the challenges involved, like the stateful nature of aggregations and joins. We’ll discuss the impact of such stateful operations in a while, but first, let’s delve deeper into one key aspect of real-time stream processing: performance.
Apache Kafka is probably primarily known as a messaging middleware with a more flexible structure than queues, but it also empowers teams with its lower entry barrier for real-time data pipelines.
For many years, I was a big fan of beautiful code. With Ruby, I was amazed by what I was able to do in one line of code. With Java, I loved that I could stream, map, and then collect! But as time passed, I read about many impressive optimizations, small tricks, and clever algorithms, and I got less and less excited about these discoveries.
(The following article is property of Avenue Code, LLC, and was originally published with permission at TotalRetail on November 7, 2018.)
Angela Hsu, Senior Vice President of Marketing and e-commerce at Lamps Plus, discusses her strategies for using marketing campaigns to generate sales through innovative and personalized digital consumer experiences.