Senior
How does Kafka support message order and guarantee their non-loss?
sobes.tech AI
Answer from AI
In Kafka, message order is guaranteed within a single topic partition. Messages sent to the same partition are stored and consumed strictly in the order they were written. Kafka uses offsets — unique sequential numbers for messages within a partition — for this purpose.
At-least-once delivery is achieved through the following mechanisms:
- Replication: Each partition has multiple replicas on different brokers. If the primary broker fails, one of the replicas becomes the leader.
- Acknowledgments (acks): The producer can set the acknowledgment level (e.g., wait for confirmation from all replicas) to ensure that the message is reliably stored.
- Offset commits: Consumers save the offsets of read messages to continue reading from the correct position in case of failure.
Thus, Kafka provides strict message order within a partition and minimizes data loss risk through replication and acknowledgment mechanisms.