Diving into Exactly Once Semantics with Guozhang Wang


Episode Artwork
1.0x
0% played 00:00 00:00
Apr 22 2019 47 mins   16
It has been said that in distributed messaging, there are two hard problems: 2) exactly once delivery, 1) guaranteed order of messages and 2) exactly once delivery. Apache Kafka® has offered exactly once processing since version 0.11, which allows properly configured producers and consumers to make the guarantee that each message will be processed exactly one time. In this episode, Kafka Streams engineer Guozhang Wang walks through the implementation of transactional messaging in Kafka in some detail, including the idempotent producer API, the transaction coordinator responsible for managing the transaction log and consumer configurations. It’s a complex topic, but he takes us through it carefully and completely. EPISODE LINKS Transactions in Apache Kafka Enabling Exactly Once in Kafka Streams KIP-98: Exactly Once Delivery and Transactional Messaging KIP-129: Streams Exactly-Once Semantics