<rant subject = #streaming and #queues> Streams have stronger ordering guarantees than message queues. Generally this means that all messages within a partition are read in the same order. This is highly useful when you need an ordered record of events that happened. As a consequence, streaming systems don't have individual message acknowledgement as it would violate ordering guarantees. Message queues have per-message acknowledgement, which means they have less strict ordering guarantees. One hybrid approach which is quite cool is "key-based subscriptions" in Apache Pulsar and also Confluent's Parallel Consumer for #apachekafka which guarantee order for all messages with the same key while allowing you to individually acknowledge messages. The tradeoff with individual message ack's is persistence (disk or memory)—you need to keep track of which messages have been acknowledged and which ones are still inflight. Pulsar uses BookKeeper to persist "subscriptions." Parallel Consumer stores them in the user-defined metadata in the consumer offset topic. There's an in-flight KIP for "Queues on Kafka" (KIP-932) but if I were the Grumpy Maintainer of Kafka, I would say that it's unnecessary given that it's already possible to implement queue semantics on top of Kafka in the client side (see: Parallel Consumer). Why add additional code bloat on the broker side when the features are already accessible? </rant>
Colt McNealy’s Post
More Relevant Posts
-
Discover the true potential of real-time analytics with Apache Kafka and Apache Druid! While Kafka enables lightning-fast event streaming, the challenge lies in analyzing millions of events concurrently. Enter Druid – the real-time analytics database trusted by industry giants like Netflix and Twitter. Pairing Kafka with Druid unlocks seamless event ingestion, interactive querying, and unparalleled scalability, empowering developers to glean insights from millions of events per second effortlessly. Experience the power of the Kafka to Druid stack with Imply Polaris, simplifying real-time analytics and revolutionizing your application architecture in minutes. https://lnkd.in/gJWbbsGK
To view or add a comment, sign in
-
Discover MongoDB Atlas Stream Processing in our latest learning byte. Learn the core concepts of streaming data, explore advantages over batch processing, and create your first stream processor pipeline in just 20 minutes – for FREE! https://lnkd.in/gaCfhepa
To view or add a comment, sign in
-
Decathlon uses Apache Kafka and Strimzi on Kubernetes for data streaming, processing 50M+ events daily. Learn how they faced and solved data interconnections and Kafka Connect cluster deployment challenges. More: https://lnkd.in/gCQrmCj9
To view or add a comment, sign in
-
Excited to kick off my new blog series, "Exploring Messaging and Streaming Technologies," with a deep dive into Apache Kafka! Discover how Kafka's robust capabilities can revolutionize data streaming and messaging in your organization. Check out the first installment here:
Exploring Messaging and Streaming Technologies Part1: Apache Kafka
bigindustries.be
To view or add a comment, sign in
-
Discover MongoDB Atlas Stream Processing in our latest learning byte. Learn the core concepts of streaming data, explore advantages over batch processing, and create your first stream processor pipeline in just 20 minutes – for FREE! https://lnkd.in/dXfNmDas
Atlas Stream Processing
To view or add a comment, sign in
-
"Apache #Kafka + Apache #Flink = Match Made in Heaven" => Benefits of both open source frameworks and unique differentiators of Flink versus #KafkaStreams for stream processing... #ApacheKafka and #ApacheFlink are increasingly joining forces to build innovative real-time #streamprocessing applications. This blog post explores the benefits of combining both #opensource frameworks, shows unique differentiators of Flink versus Kafka, and discusses when to use a Kafka-native streaming engine like Kafka Streams instead of Flink. https://lnkd.in/eAupXBqc
To view or add a comment, sign in
-
Struggling with Kafka deployments? Join our upcoming webinar on February 22nd, "Decoding Kafka Challenges: Addressing Common Pain Points in Kafka Deployments," led by our own David Kjerrumgaard. Dive deep into Kafka's intricacies, from handling multi-tenancy to overcoming geo-replication hurdles, and learn how Apache Pulsar can be the solution to your Kafka challenges. This is your chance to uplevel your data streaming strategy with insights from a seasoned expert. Register now: https://lnkd.in/gsKTQCwT #ApachePulsar #ApacheKafka #DataStreaming
Whitepaper - Decoding Kafka Challenges: Addressing Common Pain Points in Kafka Deployments
streamnative.io
To view or add a comment, sign in
-
I have just completed the Apache Kafka Essential Training: Getting Started course! 🎉 This course has been a great journey into understanding the fundamentals of Apache Kafka, including its architecture, core concepts, and practical use cases for building distributed streaming applications. A big thanks to LinkedIn for providing such insightful and hands-on training. Looking forward to applying this knowledge in real-world scenarios and continuing to grow my expertise in distributed systems! #ApacheKafka #DistributedSystems #LearningJourney #BigData #Streaming
To view or add a comment, sign in
-
Datadog Data Streams Monitoring can now help you track and optimize the performance of event-driven applications built with SQS—alongside Kafka and RabbitMQ—by providing critical visibility into your streaming data pipelines. Learn more: https://dtdg.co/dsm-sqs
To view or add a comment, sign in
-
Excited to dive into the world of Apache Kafka! 🚀 As a robust distributed streaming platform, Kafka enables real-time data processing and seamless communication between systems. #ApacheKafka #RealTimeData #DataProcessing"
To view or add a comment, sign in