Confluent Confluent
Documentation Kafka Design
Confluent Developer Marketplace Get started
Home Confluent Cloud Confluent Platform Connectors Clients
  1. Home
  2. Apache Kafka

Kafka Design

  • Design Overview
    • Topics in this section
    • Learn more
  • Kafka and the File System
    • Why the file system?
    • Kafka and the JVM
    • Persistent queue and constant time
    • Related content
  • Batch Processing for Efficiency
    • Avoids excessive byte copying
    • Batches I/O operations
    • End-to-end batch compression
    • Related content
  • Producer Design
    • What is a producer?
    • Producer load balancing
    • Batching
    • Related content
  • Consumer Design
    • What is a consumer?
    • Push versus pull design
    • Consumer groups and group IDs
    • Consumer rebalance protocols and partition assignments
    • Tracking consumer position
    • Consumer offsets
    • Consumer position illustrated
    • Related content
  • Kafka Message Delivery Guarantees
    • Semantic guarantees
    • Producer delivery
    • Consumer receipt
    • Exactly once support
    • Related content
  • Replication
    • Replication overview
    • In-sync replicas and producer acks
    • Replicated logs: quorums, ISRs, and state machines
    • Unclean leader election and partition loss
    • Replica management
    • Related content
  • Kafka Log Compaction
    • Topic compaction
    • Retention example
    • Compaction in action
    • Compaction guarantees
    • Configure compaction
    • Related content
  • Quotas
    • Why are quotas necessary?
    • Client groups
    • Quota configuration
    • Network bandwidth quotas
    • Request rate quotas
    • Enforcement
    • Related content
Ask the community Confluent Support Portal Last published: Aug 04, 2026
Terms & Conditions | Privacy Policy | Do Not Sell My Information | Modern Slavery Policy | Cookie Settings | Feedback

Copyright © Confluent, Inc. 2014- Apache®, Apache Kafka®, Kafka®, Apache Flink®, Flink®, Apache Iceberg®, Iceberg® and associated open source project names are trademarks of the Apache Software Foundation

Table of contents

CONFLUENT PRODUCTS

  • Apache Kafka
    • Overview
    • Introduction to Kafka
    • Kafka FAQ
    • Get Started with Kafka
    • Kafka APIs
    • Kafka Design
      • Design Overview
      • Kafka and the File System
      • Batch Processing for Efficiency
      • Producer Design
      • Consumer Design
      • Kafka Message Delivery Guarantees
      • Replication
      • Kafka Log Compaction
      • Quotas
    • Kafka Tools and Operations
      • Kafka Command-Line Interface (CLI) Tools
      • Topic Operations
      • Choose and Change Partition Count
      • How to Use Kafka Tools With Confluent Cloud
      • View Consumer Group Info
  • Apache Kafka® Clients
    • Overview
    • Use Kafka Clients with Confluent Cloud
    • Use Kafka Clients with Confluent Platform
    • Java
    • C/C++
    • Python
    • Go
    • .NET
    • JavaScript
  • Connectors
Kafka Design
Get started
    Home Confluent Cloud Confluent Platform Connectors Clients

    CONFLUENT PRODUCTS

    • Apache Kafka
      • Overview
      • Introduction to Kafka
      • Kafka FAQ
      • Get Started with Kafka
      • Kafka APIs
      • Kafka Design
        • Design Overview
        • Kafka and the File System
        • Batch Processing for Efficiency
        • Producer Design
        • Consumer Design
        • Kafka Message Delivery Guarantees
        • Replication
        • Kafka Log Compaction
        • Quotas
      • Kafka Tools and Operations
        • Kafka Command-Line Interface (CLI) Tools
        • Topic Operations
        • Choose and Change Partition Count
        • How to Use Kafka Tools With Confluent Cloud
        • View Consumer Group Info
    • Apache Kafka® Clients
      • Overview
      • Use Kafka Clients with Confluent Cloud
      • Use Kafka Clients with Confluent Platform
      • Java
      • C/C++
      • Python
      • Go
      • .NET
      • JavaScript
    • Connectors