# Kafka Design

<script type="text/javascript">
    redirect('index.html');
</script>

* [Design Overview](index.md)
  * [Topics in this section](index.md#topics-in-this-section)
  * [Learn more](index.md#learn-more)
* [Kafka and the File System](file-system-constant-time.md)
  * [Why the file system?](file-system-constant-time.md#why-the-file-system)
  * [Kafka and the JVM](file-system-constant-time.md#ak-and-the-jvm)
  * [Persistent queue and constant time](file-system-constant-time.md#persistent-queue-and-constant-time)
  * [Related content](file-system-constant-time.md#related-content)
* [Batch Processing for Efficiency](efficient-design.md)
  * [Avoids excessive byte copying](efficient-design.md#avoids-excessive-byte-copying)
  * [Batches I/O operations](efficient-design.md#batches-i-o-operations)
  * [End-to-end batch compression](efficient-design.md#end-to-end-batch-compression)
  * [Related content](efficient-design.md#related-content)
* [Producer Design](producer-design.md)
  * [What is a producer?](producer-design.md#what-is-a-producer)
  * [Producer load balancing](producer-design.md#producer-load-balancing)
  * [Batching](producer-design.md#batching)
  * [Related content](producer-design.md#related-content)
* [Consumer Design](consumer-design.md)
  * [What is a consumer?](consumer-design.md#what-is-a-consumer)
  * [Push versus pull design](consumer-design.md#push-versus-pull-design)
  * [Consumer groups and group IDs](consumer-design.md#consumer-groups-and-group-ids)
  * [Consumer rebalance protocols and partition assignments](consumer-design.md#consumer-rebalance-protocols-and-partition-assignments)
  * [Tracking consumer position](consumer-design.md#tracking-consumer-position)
  * [Consumer offsets](consumer-design.md#consumer-offsets)
  * [Consumer position illustrated](consumer-design.md#consumer-position-illustrated)
  * [Related content](consumer-design.md#related-content)
* [Kafka Message Delivery Guarantees](delivery-semantics.md)
  * [Semantic guarantees](delivery-semantics.md#semantic-guarantees)
  * [Producer delivery](delivery-semantics.md#producer-delivery)
  * [Consumer receipt](delivery-semantics.md#consumer-receipt)
  * [Exactly once support](delivery-semantics.md#exactly-once-support)
  * [Related content](delivery-semantics.md#related-content)
* [Replication](replication.md)
  * [Replication overview](replication.md#replication-overview)
  * [In-sync replicas and producer acks](replication.md#in-sync-replicas-and-producer-acks)
  * [Replicated logs: quorums, ISRs, and state machines](replication.md#replicated-logs-quorums-isrs-and-state-machines)
  * [Unclean leader election and partition loss](replication.md#unclean-leader-election-and-partition-loss)
  * [Replica management](replication.md#replica-management)
  * [Related content](replication.md#related-content)
* [Kafka Log Compaction](log_compaction.md)
  * [Topic compaction](log_compaction.md#topic-compaction)
  * [Retention example](log_compaction.md#retention-example)
  * [Compaction in action](log_compaction.md#compaction-in-action)
  * [Compaction guarantees](log_compaction.md#compaction-guarantees)
  * [Configure compaction](log_compaction.md#configure-compaction)
  * [Related content](log_compaction.md#related-content)
* [Quotas](quotas.md)
  * [Why are quotas necessary?](quotas.md#why-are-quotas-necessary)
  * [Client groups](quotas.md#client-groups)
  * [Quota configuration](quotas.md#quota-configuration)
  * [Network bandwidth quotas](quotas.md#network-bandwidth-quotas)
  * [Request rate quotas](quotas.md#request-rate-quotas)
  * [Enforcement](quotas.md#enforcement)
  * [Related content](quotas.md#related-content)
