<!--#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.0</h3>
    <i>Documentation for the 0.7 release is <a href="/07/documentation.html">here</a>.</i>
    <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>
             </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>
    		</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>
    		</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="#datacenters">6.1 Datacenters</a>
    			  <li><a href="#config">6.2 Config</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.3 Java Version</a>
    	 		  <li><a href="#hwandos">6.4 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.5 Monitoring</a>
    			  <li><a href="#zk">6.6 Zookeeper</a>
    				<ul>
    					<li><a href="#zkversion">Stable Version</a>
    					<li><a href="#zkops">Operationalization</a>
    				</ul>
    		</ul>
    	<li><a href="#tools">7. Tools</a>
    </ul>

    <h2><a id="gettingStarted">1. Getting Started</a></h2>
    <!--#include virtual="introduction.html" -->
    <!--#include virtual="uses.html" -->
    <!--#include virtual="quickstart.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" -->

    <h2><a id="tools">7. Tools</a></h2>

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

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