blob: e7d939e72b7760261d6240bfa3100a2bc796a602 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script><!--#include virtual="js/templateData.js" --></script>
<script id="toc-template" type="text/x-handlebars-template">
<ul class="toc">
<li><a href="#gettingStarted">1. Getting Started</a>
<ul>
<li><a href="#introduction">1.1 Introduction</a>
<li><a href="#uses">1.2 Use Cases</a>
<li><a href="#quickstart">1.3 Quick Start</a>
<li><a href="#ecosystem">1.4 Ecosystem</a>
<li><a href="#upgrade">1.5 Upgrading</a>
</ul>
</li>
<li><a href="#api">2. APIs</a>
<ul>
<li><a href="#producerapi">2.1 Producer API</a>
<li><a href="#consumerapi">2.2 Consumer API</a>
<li><a href="/{{version}}/documentation/streams">2.3 Streams API</a>
<li><a href="#connectapi">2.4 Connect API</a>
<li><a href="#adminapi">2.5 AdminClient API</a>
<li><a href="#legacyapis">2.6 Legacy APIs</a>
</ul>
</li>
<li><a href="#configuration">3. Configuration</a>
<ul>
<li><a href="#brokerconfigs">3.1 Broker Configs</a>
<li><a href="#topicconfigs">3.2 Topic Configs</a>
<li><a href="#producerconfigs">3.3 Producer Configs</a>
<li><a href="#consumerconfigs">3.4 Consumer Configs</a>
<ul>
<li><a href="#newconsumerconfigs">3.4.1 New Consumer Configs</a>
<li><a href="#oldconsumerconfigs">3.4.2 Old Consumer Configs</a>
</ul>
<li><a href="#connectconfigs">3.5 Kafka Connect Configs</a>
<li><a href="#streamsconfigs">3.6 Kafka Streams Configs</a>
<li><a href="#adminclientconfigs">3.7 AdminClient Configs</a>
</ul>
</li>
<li><a href="#design">4. Design</a>
<ul>
<li><a href="#majordesignelements">4.1 Motivation</a>
<li><a href="#persistence">4.2 Persistence</a>
<li><a href="#maximizingefficiency">4.3 Efficiency</a>
<li><a href="#theproducer">4.4 The Producer</a>
<li><a href="#theconsumer">4.5 The Consumer</a>
<li><a href="#semantics">4.6 Message Delivery Semantics</a>
<li><a href="#replication">4.7 Replication</a>
<li><a href="#compaction">4.8 Log Compaction</a>
<li><a href="#design_quotas">4.9 Quotas</a>
</ul>
</li>
<li><a href="#implementation">5. Implementation</a>
<ul>
<li><a href="#networklayer">5.1 Network Layer</a>
<li><a href="#messages">5.2 Messages</a>
<li><a href="#messageformat">5.3 Message format</a>
<li><a href="#log">5.4 Log</a>
<li><a href="#distributionimpl">5.5 Distribution</a>
</ul>
</li>
<li><a href="#operations">6. Operations</a>
<ul>
<li><a href="#basic_ops">6.1 Basic Kafka Operations</a>
<ul>
<li><a href="#basic_ops_add_topic">Adding and removing topics</a>
<li><a href="#basic_ops_modify_topic">Modifying topics</a>
<li><a href="#basic_ops_restarting">Graceful shutdown</a>
<li><a href="#basic_ops_leader_balancing">Balancing leadership</a>
<li><a href="#basic_ops_consumer_lag">Checking consumer position</a>
<li><a href="#basic_ops_mirror_maker">Mirroring data between clusters</a>
<li><a href="#basic_ops_cluster_expansion">Expanding your cluster</a>
<li><a href="#basic_ops_decommissioning_brokers">Decommissioning brokers</a>
<li><a href="#basic_ops_increase_replication_factor">Increasing replication factor</a>
</ul>
<li><a href="#datacenters">6.2 Datacenters</a>
<li><a href="#config">6.3 Important Configs</a>
<ul>
<li><a href="#clientconfig">Important Client Configs</a>
<li><a href="#prodconfig">A Production Server Configs</a>
</ul>
<li><a href="#java">6.4 Java Version</a>
<li><a href="#hwandos">6.5 Hardware and OS</a>
<ul>
<li><a href="#os">OS</a>
<li><a href="#diskandfs">Disks and Filesystems</a>
<li><a href="#appvsosflush">Application vs OS Flush Management</a>
<li><a href="#linuxflush">Linux Flush Behavior</a>
<li><a href="#ext4">Ext4 Notes</a>
</ul>
<li><a href="#monitoring">6.6 Monitoring</a>
<li><a href="#zk">6.7 ZooKeeper</a>
<ul>
<li><a href="#zkversion">Stable Version</a>
<li><a href="#zkops">Operationalization</a>
</ul>
</ul>
</li>
<li><a href="#security">7. Security</a>
<ul>
<li><a href="#security_overview">7.1 Security Overview</a></li>
<li><a href="#security_ssl">7.2 Encryption and Authentication using SSL</a></li>
<li><a href="#security_sasl">7.3 Authentication using SASL</a></li>
<li><a href="#security_authz">7.4 Authorization and ACLs</a></li>
<li><a href="#security_rolling_upgrade">7.5 Incorporating Security Features in a Running Cluster</a></li>
<li><a href="#zk_authz">7.6 ZooKeeper Authentication</a></li>
<ul>
<li><a href="#zk_authz_new">New Clusters</a></li>
<li><a href="#zk_authz_migration">Migrating Clusters</a></li>
<li><a href="#zk_authz_ensemble">Migrating the ZooKeeper Ensemble</a></li>
</ul>
</ul>
</li>
<li><a href="#connect">8. Kafka Connect</a>
<ul>
<li><a href="#connect_overview">8.1 Overview</a></li>
<li><a href="#connect_user">8.2 User Guide</a></li>
<ul>
<li><a href="#connect_running">Running Kafka Connect</a></li>
<li><a href="#connect_configuring">Configuring Connectors</a></li>
<li><a href="#connect_transforms">Transformations</a></li>
<li><a href="#connect_rest">REST API</a></li>
</ul>
<li><a href="#connect_development">8.3 Connector Development Guide</a></li>
</ul>
</li>
<li><a href="/{{version}}/documentation/streams">9. Kafka Streams</a>
<ul>
<li><a href="/{{version}}/documentation/streams/quickstart">9.1 Play with a Streams Application</a></li>
<li><a href="/{{version}}/documentation/streams/tutorial">9.2 Write your own Streams Applications</a></li>
<li><a href="/{{version}}/documentation/streams/developer-guide">9.3 Developer Manual</a></li>
<li><a href="/{{version}}/documentation/streams/core-concepts">9.4 Core Concepts</a></li>
<li><a href="/{{version}}/documentation/streams/architecture">9.5 Architecture</a></li>
<li><a href="/{{version}}/documentation/streams/upgrade-guide">9.6 Upgrade Guide</a></li>
</ul>
</li>
</ul>
</script>
<div class="p-toc"></div>