🧠🛰️ KAFKA STREAMS FEATURES QUIZ: WHAT’S REALLY BUILT-IN?
🔸 THE QUESTION (TRY BEFORE YOU SCROLL 👀)
Kafka Streams is a library to process data from Kafka topics.
Which statements are true about Kafka Streams?
▪️ Works with Kafka security (TLS/SASL/ACLs)
▪️ Scales to handle more load
▪️ Made for batch processing
▪️ Supports at-least-once processing
▪️ Supports exactly-once processing
🔸 TL;DR ⚡
▪️ Kafka Streams is secure + scalable + real-time ✅
▪️ It supports both processing guarantees: at-least-once (default) and exactly-once (configurable) ✅
▪️ It’s not a batch processing tool ❌
🔸 THE ANSWER (CHECK YOURSELF ✅)
▪️ Works with Kafka security → ✅ True
Kafka Streams uses the same Kafka client configs, so it can use your cluster security settings.
▪️ Scales to handle more load → ✅ True
You scale by running more instances (more app copies) and Kafka rebalances work across them.
▪️ Made for batch processing → ❌ False
Kafka Streams is mainly for real-time / near real-time stream processing (continuous data).
▪️ Supports at-least-once processing → ✅ True (default)
This means records are processed one or more times (possible duplicates).
▪️ Supports exactly-once processing → ✅ True (optional)
This means Kafka Streams can process each record exactly once (stronger guarantee), when configured.
💡 Example config:
processing.guarantee=at_least_once (default)
processing.guarantee=exactly_once_v2 (exactly-once)
🔸 TAKEAWAYS 🎯
▪️ Don’t treat “at-least-once” and “exactly-once” as “either/or” — Kafka Streams can do both.
▪️ Use exactly-once when duplicates are expensive (money, inventory, billing).
▪️ Use at-least-once when you want simpler + faster processing and can handle deduplication downstream.
#Kafka #KafkaStreams #EventDriven #Streaming #DataEngineering #Java #Microservices #DistributedSystems #ExactlyOnce #AtLeastOnce
Go further with Java certification:
Java👇
Spring👇
SpringBook👇
JavaBook👇