Transactions in Apache Kafka | Confluent
Nov 17, 2017Apurva Mehta

Summary
This post dives deeper into Kafka transactions, explaining their primary use case in read-process-write stream processing applications. It details how transactions enable atomic multi-partition writes and zombie fencing to achieve exactly-once processing. The post outlines transactional semantics, the Java client API for transactions, and the underlying components like the Transaction Coordinator and Transaction Log. It clarifies that while Kafka guarantees committed transactional messages will be delivered and aborted/open ones withheld, it does not provide atomic reads.
More from the Kafka Producer and Consumer API Enhancements trail
- How a Tier‑1 Bank Tuned Apache Kafka® for p99 Latency for Trading
- Kafka Producer Internals: The Producer Request Lifecycle
- Inside the Kafka Black Box—How Producers Prepare Event Data for Brokers
- Apache Kafka Message Compression
- How to Make Apache Kafka Clients Go Fast(er) on Confluent Cloud | Confluent How to Make Apache Kafka Even Faster