# Apache Kafka

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

* [Overview](overview.md)
* [Introduction to Kafka](introduction.md)
  * [Events and event streaming](introduction.md#events-and-event-streaming)
  * [Use cases](introduction.md#use-cases)
  * [Terminology](introduction.md#terminology)
    * [Brokers](introduction.md#brokers)
    * [Topics](introduction.md#topics)
    * [Producers](introduction.md#producers)
    * [Consumers](introduction.md#consumers)
    * [Partitions](introduction.md#partitions)
    * [Replication](introduction.md#replication)
  * [Components](introduction.md#components)
    * [Kafka Connect](introduction.md#ak-connect)
    * [Kafka Streams](introduction.md#ak-streams)
  * [Learn more](introduction.md#learn-more)
* [Kafka FAQ](faq.md)
  * [What is Kafka?](faq.md#what-is-ak)
  * [What is Kafka used for?](faq.md#what-is-ak-used-for)
  * [How does Kafka work?](faq.md#how-does-ak-work)
  * [What are the benefits of using Kafka?](faq.md#what-are-the-benefits-of-using-ak)
  * [How is Kafka different from traditional messaging systems?](faq.md#how-is-ak-different-from-traditional-messaging-systems)
  * [What are Kafka topics and partitions?](faq.md#what-are-ak-topics-and-partitions)
  * [What is a Kafka broker?](faq.md#what-is-a-ak-broker)
  * [What are Kafka producers and consumers?](faq.md#what-are-ak-producers-and-consumers)
  * [What is Kafka replication?](faq.md#what-is-ak-replication)
  * [What are Kafka Connect and Kafka Streams?](faq.md#what-are-kconnect-long-and-kstreams)
  * [How do I get started with Kafka?](faq.md#how-do-i-get-started-with-ak)
  * [Next steps](faq.md#next-steps)
* [Get Started with Kafka](get-started.md)
  * [Quick start options](get-started.md#quick-start-options)
  * [Related content](get-started.md#related-content)
* [Kafka APIs](kafka-apis.md)
  * [Producer API](kafka-apis.md#producer-api)
  * [Consumer API](kafka-apis.md#consumer-api)
  * [Share Consumer API](kafka-apis.md#share-consumer-api)
  * [Admin Client API](kafka-apis.md#admin-client-api)
  * [Connect API](kafka-apis.md#kconnect-api)
  * [Kafka Streams API](kafka-apis.md#kstreams-api)
    * [Kafka Streams DSL](kafka-apis.md#ak-streams-dsl)
    * [Processor API](kafka-apis.md#processor-api)
  * [Related content](kafka-apis.md#related-content)
* [Kafka Design](design/overview.md)
  * [Design Overview](design/index.md)
    * [Topics in this section](design/index.md#topics-in-this-section)
    * [Learn more](design/index.md#learn-more)
  * [Kafka and the File System](design/file-system-constant-time.md)
    * [Why the file system?](design/file-system-constant-time.md#why-the-file-system)
    * [Kafka and the JVM](design/file-system-constant-time.md#ak-and-the-jvm)
    * [Persistent queue and constant time](design/file-system-constant-time.md#persistent-queue-and-constant-time)
    * [Related content](design/file-system-constant-time.md#related-content)
  * [Batch Processing for Efficiency](design/efficient-design.md)
    * [Avoids excessive byte copying](design/efficient-design.md#avoids-excessive-byte-copying)
    * [Batches I/O operations](design/efficient-design.md#batches-i-o-operations)
    * [End-to-end batch compression](design/efficient-design.md#end-to-end-batch-compression)
    * [Related content](design/efficient-design.md#related-content)
  * [Producer Design](design/producer-design.md)
    * [What is a producer?](design/producer-design.md#what-is-a-producer)
    * [Producer load balancing](design/producer-design.md#producer-load-balancing)
    * [Batching](design/producer-design.md#batching)
    * [Related content](design/producer-design.md#related-content)
  * [Consumer Design](design/consumer-design.md)
    * [What is a consumer?](design/consumer-design.md#what-is-a-consumer)
    * [Push versus pull design](design/consumer-design.md#push-versus-pull-design)
    * [Consumer groups and group IDs](design/consumer-design.md#consumer-groups-and-group-ids)
    * [Consumer rebalance protocols and partition assignments](design/consumer-design.md#consumer-rebalance-protocols-and-partition-assignments)
    * [Tracking consumer position](design/consumer-design.md#tracking-consumer-position)
    * [Consumer offsets](design/consumer-design.md#consumer-offsets)
    * [Consumer position illustrated](design/consumer-design.md#consumer-position-illustrated)
    * [Related content](design/consumer-design.md#related-content)
  * [Kafka Message Delivery Guarantees](design/delivery-semantics.md)
    * [Semantic guarantees](design/delivery-semantics.md#semantic-guarantees)
    * [Producer delivery](design/delivery-semantics.md#producer-delivery)
    * [Consumer receipt](design/delivery-semantics.md#consumer-receipt)
    * [Exactly once support](design/delivery-semantics.md#exactly-once-support)
    * [Related content](design/delivery-semantics.md#related-content)
  * [Replication](design/replication.md)
    * [Replication overview](design/replication.md#replication-overview)
    * [In-sync replicas and producer acks](design/replication.md#in-sync-replicas-and-producer-acks)
    * [Replicated logs: quorums, ISRs, and state machines](design/replication.md#replicated-logs-quorums-isrs-and-state-machines)
    * [Unclean leader election and partition loss](design/replication.md#unclean-leader-election-and-partition-loss)
    * [Replica management](design/replication.md#replica-management)
    * [Related content](design/replication.md#related-content)
  * [Kafka Log Compaction](design/log_compaction.md)
    * [Topic compaction](design/log_compaction.md#topic-compaction)
    * [Retention example](design/log_compaction.md#retention-example)
    * [Compaction in action](design/log_compaction.md#compaction-in-action)
      * [Compaction enables deletes](design/log_compaction.md#compaction-enables-deletes)
      * [View of compaction](design/log_compaction.md#view-of-compaction)
      * [Topic compaction video](design/log_compaction.md#topic-compaction-video)
    * [Compaction guarantees](design/log_compaction.md#compaction-guarantees)
    * [Configure compaction](design/log_compaction.md#configure-compaction)
    * [Related content](design/log_compaction.md#related-content)
  * [Quotas](design/quotas.md)
    * [Why are quotas necessary?](design/quotas.md#why-are-quotas-necessary)
    * [Client groups](design/quotas.md#client-groups)
    * [Quota configuration](design/quotas.md#quota-configuration)
    * [Network bandwidth quotas](design/quotas.md#network-bandwidth-quotas)
    * [Request rate quotas](design/quotas.md#request-rate-quotas)
    * [Enforcement](design/quotas.md#enforcement)
    * [Related content](design/quotas.md#related-content)
* [Kafka Tools and Operations](operations-tools/index.md)
  * [Kafka Command-Line Interface (CLI) Tools](operations-tools/kafka-tools.md)
    * [Search by tool name](operations-tools/kafka-tools.md#search-by-tool-name)
    * [Manage Kafka and configure metadata](operations-tools/kafka-tools.md#manage-ak-and-configure-metadata)
      * [kafka-server-start.sh](operations-tools/kafka-tools.md#kafka-server-start-sh)
      * [kafka-server-stop.sh](operations-tools/kafka-tools.md#kafka-server-stop-sh)
      * [kafka-storage.sh](operations-tools/kafka-tools.md#kafka-storage-sh)
      * [kafka-cluster.sh](operations-tools/kafka-tools.md#kafka-cluster-sh)
      * [kafka-features.sh](operations-tools/kafka-tools.md#kafka-features-sh)
      * [kafka-broker-api-versions.sh](operations-tools/kafka-tools.md#kafka-broker-api-versions-sh)
      * [kafka-metadata-quorum.sh](operations-tools/kafka-tools.md#kafka-metadata-quorum-sh)
      * [kafka-metadata-shell.sh](operations-tools/kafka-tools.md#kafka-metadata-shell-sh)
      * [kafka-configs.sh](operations-tools/kafka-tools.md#kafka-configs-sh)
    * [Manage topics, partitions, and replication](operations-tools/kafka-tools.md#manage-topics-partitions-and-replication)
      * [kafka-topics.sh](operations-tools/kafka-tools.md#kafka-topics-sh)
      * [kafka-configs.sh](operations-tools/kafka-tools.md#kafka-configs-usage)
      * [kafka-get-offsets.sh](operations-tools/kafka-tools.md#kafka-get-offsets-sh)
      * [kafka-leader-election.sh](operations-tools/kafka-tools.md#kafka-leader-election-sh)
      * [kafka-transactions.sh](operations-tools/kafka-tools.md#kafka-transactions-sh)
      * [kafka-reassign-partitions.sh](operations-tools/kafka-tools.md#kafka-reassign-partitions-sh)
      * [kafka-delete-records.sh](operations-tools/kafka-tools.md#kafka-delete-records-sh)
      * [kafka-log-dirs.sh](operations-tools/kafka-tools.md#kafka-log-dirs-sh)
      * [kafka-replica-verification.sh](operations-tools/kafka-tools.md#kafka-replica-verification-sh)
      * [kafka-mirror-maker.sh](operations-tools/kafka-tools.md#kafka-mirror-maker-sh)
      * [connect-mirror-maker.sh](operations-tools/kafka-tools.md#connect-mirror-maker-sh)
    * [Client, producer, and consumer tools](operations-tools/kafka-tools.md#client-producer-and-consumer-tools)
      * [kafka-client-metrics.sh](operations-tools/kafka-tools.md#kafka-client-metrics-sh)
      * [kafka-verifiable-consumer.sh](operations-tools/kafka-tools.md#kafka-verifiable-consumer-sh)
      * [kafka-configs.sh](operations-tools/kafka-tools.md#id2)
      * [kafka-verifiable-producer.sh](operations-tools/kafka-tools.md#kafka-verifiable-producer-sh)
      * [kafka-verifiable-share-consumer.sh](operations-tools/kafka-tools.md#kafka-verifiable-share-consumer-sh)
      * [kafka-console-consumer.sh](operations-tools/kafka-tools.md#kafka-console-consumer-sh)
      * [kafka-console-producer.sh](operations-tools/kafka-tools.md#kafka-console-producer-sh)
      * [kafka-console-share-consumer.sh](operations-tools/kafka-tools.md#kafka-console-share-consumer-sh)
      * [kafka-producer-perf-test.sh](operations-tools/kafka-tools.md#kafka-producer-perf-test-sh)
      * [kafka-groups.sh](operations-tools/kafka-tools.md#kafka-groups-sh)
      * [kafka-consumer-groups.sh](operations-tools/kafka-tools.md#kafka-consumer-groups-sh)
      * [kafka-consumer-perf-test.sh](operations-tools/kafka-tools.md#kafka-consumer-perf-test-sh)
      * [kafka-share-consumer-perf-test.sh](operations-tools/kafka-tools.md#kafka-share-consumer-perf-test-sh)
      * [kafka-share-groups.sh](operations-tools/kafka-tools.md#kafka-share-groups-sh)
    * [Manage Kafka Connect](operations-tools/kafka-tools.md#manage-kconnect-long)
      * [connect-distributed.sh](operations-tools/kafka-tools.md#connect-distributed-sh)
      * [connect-standalone.sh](operations-tools/kafka-tools.md#connect-standalone-sh)
      * [connect-mirror-maker.sh](operations-tools/kafka-tools.md#id3)
    * [Manage Kafka Streams](operations-tools/kafka-tools.md#manage-kstreams)
      * [kafka-streams-application-reset.sh](operations-tools/kafka-tools.md#kafka-streams-application-reset-sh)
      * [kafka-streams-groups.sh](operations-tools/kafka-tools.md#kafka-streams-groups-sh)
    * [Manage security](operations-tools/kafka-tools.md#manage-security)
      * [kafka-acls](operations-tools/kafka-tools.md#kafka-acls)
      * [kafka-delegation-tokens.sh](operations-tools/kafka-tools.md#kafka-delegation-tokens-sh)
    * [Test and troubleshoot](operations-tools/kafka-tools.md#test-and-troubleshoot)
      * [kafka-e2e-latency.sh](operations-tools/kafka-tools.md#kafka-e2e-latency-sh)
      * [kafka-dump-log.sh](operations-tools/kafka-tools.md#kafka-dump-log-sh)
      * [kafka-jmx.sh](operations-tools/kafka-tools.md#kafka-jmx-sh)
      * [trogdor.sh](operations-tools/kafka-tools.md#trogdor-sh)
      * [kafka-run-class.sh](operations-tools/kafka-tools.md#kafka-run-class-sh)
      * [Related content](operations-tools/kafka-tools.md#related-content)
  * [Topic Operations](operations-tools/topic-operations.md)
    * [Add a topic](operations-tools/topic-operations.md#add-a-topic)
    * [Describe a topic](operations-tools/topic-operations.md#describe-a-topic)
    * [Change the retention value for a topic](operations-tools/topic-operations.md#change-the-retention-value-for-a-topic)
    * [Increase partitions for a topic](operations-tools/topic-operations.md#increase-partitions-for-a-topic)
    * [Delete a topic](operations-tools/topic-operations.md#delete-a-topic)
    * [Related content](operations-tools/topic-operations.md#related-content)
  * [Choose and Change Partition Count](operations-tools/partition-determination.md)
    * [Partition formula](operations-tools/partition-determination.md#partition-formula)
    * [Partitions and message keys](operations-tools/partition-determination.md#partitions-and-message-keys)
    * [Change the number of partitions](operations-tools/partition-determination.md#change-the-number-of-partitions)
    * [Related content](operations-tools/partition-determination.md#related-content)
  * [How to Use Kafka Tools With Confluent Cloud](operations-tools/use-kafka-tools-ccloud.md)
    * [Create a configuration file](operations-tools/use-kafka-tools-ccloud.md#create-a-configuration-file)
    * [Call the tool](operations-tools/use-kafka-tools-ccloud.md#call-the-tool)
    * [Related content](operations-tools/use-kafka-tools-ccloud.md#related-content)
  * [View Consumer Group Info](operations-tools/manage-consumer-groups.md)
    * [Check consumer position](operations-tools/manage-consumer-groups.md#check-consumer-position)
    * [List groups and view offsets](operations-tools/manage-consumer-groups.md#list-groups-and-view-offsets)
    * [Related content](operations-tools/manage-consumer-groups.md#related-content)
