<!--#include virtual="../includes/_header.htm" -->
<!--#include virtual="../includes/_top.htm" -->
<div class="content documentation">
	<!--#include virtual="../includes/_nav.htm" -->
	<div class="right">
		<!--#include virtual="../includes/_docs_banner.htm" -->
		<h1>Documentation</h1>
    <h3>Kafka 0.8.1</h3>
		<p>
    	Prior releases: <a href="/07/documentation.html">0.7.x</a>, <a href="/08/documentation.html">0.8.0</a>.
    </p>

    <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><a href="#api">2. API</a>
              <ul>
                  <li><a href="#producerapi">2.1 Producer API</a>
                  <li><a href="#highlevelconsumerapi">2.2 High Level Consumer API</a>
                  <li><a href="#simpleconsumerapi">2.3 Simple Consumer API</a>
                  <li><a href="#kafkahadoopconsumerapi">2.4 Kafka Hadoop Consumer API</a>
              </ul>
        <li><a href="#configuration">3. Configuration</a>
            <ul>
                 <li><a href="#brokerconfigs">3.1 Broker Configs</a>
                 <li><a href="#consumerconfigs">3.2 Consumer Configs</a>
                 <li><a href="#producerconfigs">3.3 Producer Configs</a>
    			 <li><a href="#newproducerconfigs">3.4 New Producer Configs</a>
            </ul>
        <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>
            </ul>
        <li><a href="#implementation">5. Implementation</a>
            <ul>
                  <li><a href="#apidesign">5.1 API Design</a>
                  <li><a href="#networklayer">5.2 Network Layer</a>
                  <li><a href="#messages">5.3 Messages</a>
                  <li><a href="#messageformat">5.4 Message format</a>
                  <li><a href="#log">5.5 Log</a>
                  <li><a href="#distributionimpl">5.6 Distribution</a>
            </ul>
        <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="#serverconfig">Important Server Configs</a>
                         <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>
    </ul>

    <h2><a id="gettingStarted">1. Getting Started</a></h2>
    <!--#include virtual="introduction.html" -->
    <!--#include virtual="uses.html" -->
    <!--#include virtual="quickstart.html" -->
    <!--#include virtual="ecosystem.html" -->
    <!--#include virtual="upgrade.html" -->

    <h2><a id="api">2. API</a></h2>

    <!--#include virtual="api.html" -->

    <h2><a id="configuration">3. Configuration</a></h2>

    <!--#include virtual="configuration.html" -->

    <h2><a id="design">4. Design</a></h2>

    <!--#include virtual="design.html" -->

    <h2><a id="implementation">5. Implementation</a></h2>

    <!--#include virtual="implementation.html" -->

    <h2><a id="operations">6. Operations</a></h2>

    <!--#include virtual="ops.html" -->

<!--#include virtual="../includes/_footer.htm" -->
