提交 b9354f36 编写于 作者: M mikechengwei

介绍翻译完成

上级 c9efac59
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Architecture</h1>
......@@ -137,12 +139,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -150,6 +156,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Core Concepts</h1>
......@@ -115,12 +117,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -128,6 +134,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Developer Guide</h1>
......@@ -552,12 +554,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -565,6 +571,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,10 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="streams-template" type="text/x-handlebars-template">
<h1>Streams</h1>
......@@ -66,18 +69,23 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
</ul>
<div class="p-streams"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,10 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Upgrade Guide &amp; API Changes</h1>
......@@ -151,12 +154,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -164,6 +171,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Architecture</h1>
......@@ -135,11 +137,15 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
......@@ -148,6 +154,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Core Concepts</h1>
......@@ -173,11 +175,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
......@@ -186,6 +193,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Developer Guide for Kafka Streams API</h1>
......@@ -2987,11 +2989,15 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
......@@ -3000,6 +3006,7 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -286,11 +286,15 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a>
......@@ -299,6 +303,7 @@
<div class="p-streams"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -14,7 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Run Streams Demo Application</h1>
......@@ -338,11 +340,15 @@ Looking beyond the scope of this concrete example, what Kafka Streams is doing h
<div class="p-quickstart-streams"></div>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
......@@ -351,6 +357,7 @@ Looking beyond the scope of this concrete example, what Kafka Streams is doing h
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -14,7 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Tutorial: Write a Streams Application</h1>
......@@ -511,12 +513,17 @@
<div class="p-quickstart-streams"></div>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -524,6 +531,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Upgrade Guide &amp; API Changes</h1>
......@@ -223,11 +225,15 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
......@@ -236,6 +242,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -31,28 +31,28 @@
<div class="right">
@@include('../includes/_docs_banner.htm')
<!--#include virtual="../includes/_docs_banner.htm" -->
<h1>Documentation</h1>
<h3>Kafka 1.0 Documentation</h3>
<h1>文档</h1>
<h3>Kafka 1.0 文档</h3>
Prior releases: <a href="/07/documentation.html">0.7.x</a>, <a href="/08/documentation.html">0.8.0</a>, <a href="/081/documentation.html">0.8.1.X</a>, <a href="/082/documentation.html">0.8.2.X</a>, <a href="/090/documentation.html">0.9.0.X</a>, <a href="/0100/documentation.html">0.10.0.X</a>, <a href="/0101/documentation.html">0.10.1.X</a>, <a href="/0102/documentation.html">0.10.2.X</a>, <a href="/0110/documentation.html">0.11.0.X</a>.
@@include('toc.html')
<!--#include virtual="toc.html" -->
<h2><a id="gettingStarted" href="#gettingStarted">1. Getting Started</a></h2>
<h3><a id="introduction" href="#introduction">1.1 Introduction</a></h3>
<h2><a id="gettingStarted" href="#gettingStarted">1. 入门</a></h2>
<h3><a id="introduction" href="#introduction">1.1 介绍</a></h3>
@@include('introduction.html')
<!--#include virtual="introduction.html" -->
<h3><a id="uses" href="#uses">1.2 Use Cases</a></h3>
<h3><a id="uses" href="#uses">1.2 使用案例</a></h3>
@@include('uses.html')
<!--#include virtual="uses.html" -->
<h3><a id="quickstart" href="#quickstart">1.3 Quick Start</a></h3>
<h3><a id="quickstart" href="#quickstart">1.3 快速开始</a></h3>
@@include('quickstart.html')
<!--#include virtual="quickstart.html" -->
<h3><a id="ecosystem" href="#ecosystem">1.4 Ecosystem</a></h3>
<h3><a id="ecosystem" href="#ecosystem">1.4 生态圈</a></h3>
@@include('ecosystem.html')
<!--#include virtual="ecosystem.html" -->
<h3><a id="upgrade" href="#upgrade">1.5 Upgrading From Previous Versions</a></h3>
<h3><a id="upgrade" href="#upgrade">1.5 升级版本</a></h3>
@@include('upgrade.html')
<!--#include virtual="upgrade.html" -->
......@@ -60,23 +60,23 @@
@@include('api.html')
<!--#include virtual="api.html" -->
<h2><a id="configuration" href="#configuration">3. Configuration</a></h2>
<h2><a id="configuration" href="#configuration">3. 配置</a></h2>
@@include('configuration.html')
<!--#include virtual="configuration.html" -->
<h2><a id="design" href="#design">4. Design</a></h2>
<h2><a id="design" href="#design">4. 设计思想</a></h2>
@@include('design.html')
<!--#include virtual="design.html" -->
<h2><a id="implementation" href="#implementation">5. Implementation</a></h2>
<h2><a id="implementation" href="#implementation">5. 实现思路</a></h2>
@@include('design.html')
<!--#include virtual="implementation.html" -->
<h2><a id="operations" href="#operations">6. Operations</a></h2>
<h2><a id="operations" href="#operations">6. 基本操作</a></h2>
@@include('ops.html')
<!--#include virtual="ops.html" -->
<h2><a id="security" href="#security">7. Security</a></h2>
<h2><a id="security" href="#security">7. 安全</a></h2>
@@include('security.html')
<!--#include virtual="security.html" -->
......
此差异已折叠。
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Architecture</h1>
......@@ -135,12 +137,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -148,6 +154,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Core Concepts</h1>
......@@ -172,12 +174,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -185,6 +191,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Developer Guide for Kafka Streams API</h1>
......@@ -2986,12 +2988,16 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -2999,6 +3005,7 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -13,6 +13,8 @@
limitations under the License.
-->
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" -->
</script>
<script id="streams-template" type="text/x-handlebars-template">
......@@ -292,12 +294,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a>
</li>
......@@ -305,6 +311,7 @@
<div class="p-streams"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -14,7 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
......@@ -346,12 +348,16 @@ Looking beyond the scope of this concrete example, what Kafka Streams is doing h
<div class="p-quickstart-streams"></div>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -359,6 +365,7 @@ Looking beyond the scope of this concrete example, what Kafka Streams is doing h
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -14,7 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Tutorial: Write a Streams Application</h1>
......@@ -623,12 +625,16 @@
<div class="p-quickstart-streams"></div>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -636,6 +642,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -15,7 +15,9 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
@@include('../js/templateData.js')
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Upgrade Guide &amp; API Changes</h1>
......@@ -365,12 +367,16 @@
</div>
</script>
@@include('../../includes/_header.htm')
<!--#include virtual="../../includes/_header.htm" -->
@@include('../../includes/_top.htm')
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
@@include('../../includes/_nav.htm')
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
@@include('../../includes/_docs_banner.htm')
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -378,6 +384,7 @@
<div class="p-content"></div>
</div>
</div>
@@include('../../includes/_footer.htm')
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -22,135 +22,135 @@
<script id="toc-template" type="text/x-handlebars-template">
<ul class="toc">
<li><a href="#gettingStarted">1. Getting Started</a>
<li><a href="#gettingStarted">1. 入门</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>
<li><a href="#introduction">1.1 介绍</a>
<li><a href="#uses">1.2 使用案例</a>
<li><a href="#quickstart">1.3 快速开始</a>
<li><a href="#ecosystem">1.4 生态圈</a>
<li><a href="#upgrade">1.5 升级</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="#producerapi">2.1 生产者 API</a>
<li><a href="#consumerapi">2.2 消费者 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>
<li><a href="#connectapi">2.4 连接器 API</a>
<li><a href="#adminapi">2.5 管理客户端 API</a>
<li><a href="#legacyapis">2.6 废弃的 APIs</a>
</ul>
</li>
<li><a href="#configuration">3. Configuration</a>
<li><a href="#configuration">3. 配置</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>
<li><a href="#brokerconfigs">3.1 Broker 配置</a>
<li><a href="#topicconfigs">3.2 Topic 配置</a>
<li><a href="#producerconfigs">3.3 Producer 配置</a>
<li><a href="#consumerconfigs">3.4 Consumer 配置</a>
<ul>
<li><a href="#newconsumerconfigs">3.4.1 New Consumer Configs</a>
<li><a href="#oldconsumerconfigs">3.4.2 Old Consumer Configs</a>
<li><a href="#newconsumerconfigs">3.4.1 New Consumer 配置</a>
<li><a href="#oldconsumerconfigs">3.4.2 Old Consumer 配置</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>
<li><a href="#connectconfigs">3.5 Kafka Connect 配置</a>
<li><a href="#streamsconfigs">3.6 Kafka Streams 配置</a>
<li><a href="#adminclientconfigs">3.7 AdminClient 配置</a>
</ul>
</li>
<li><a href="#design">4. Design</a>
<li><a href="#design">4. 设计思想</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="#majordesignelements">4.1 动机</a>
<li><a href="#persistence">4.2 持久化</a>
<li><a href="#maximizingefficiency">4.3 性能</a>
<li><a href="#theproducer">4.4 生产者</a>
<li><a href="#theconsumer">4.5 消费者</a>
<li><a href="#semantics">4.6 消息分发策略</a>
<li><a href="#replication">4.7 备份</a>
<li><a href="#compaction">4.8 日志压缩</a>
<li><a href="#design_quotas">4.9 Quotas</a>
</ul>
</li>
<li><a href="#implementation">5. Implementation</a>
<li><a href="#implementation">5. 实现</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>
<li><a href="#networklayer">5.1 网络层 </a>
<li><a href="#messages">5.2 消息</a>
<li><a href="#messageformat">5.3 消息格式</a>
<li><a href="#log">5.4 日志</a>
<li><a href="#distributionimpl">5.5 分布式</a>
</ul>
</li>
<li><a href="#operations">6. Operations</a>
<li><a href="#operations">6. 操作</a>
<ul>
<li><a href="#basic_ops">6.1 Basic Kafka Operations</a>
<li><a href="#basic_ops">6.1 基本的 Kafka 操作</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>
<li><a href="#basic_ops_add_topic">添加和移除 topics</a>
<li><a href="#basic_ops_modify_topic">改动 topics</a>
<li><a href="#basic_ops_restarting">优雅的关闭kafka</a>
<li><a href="#basic_ops_leader_balancing">Balance leader</a>
<li><a href="#basic_ops_consumer_lag">检查consumer的位置(offset)</a>
<li><a href="#basic_ops_mirror_maker">集群之间做数据镜像</a>
<li><a href="#basic_ops_cluster_expansion">扩展你的Kafka集群</a>
<li><a href="#basic_ops_decommissioning_brokers">下线brokers</a>
<li><a href="#basic_ops_increase_replication_factor">增加副本数</a>
</ul>
<li><a href="#datacenters">6.2 Datacenters</a>
<li><a href="#config">6.3 Important Configs</a>
<li><a href="#datacenters">6.2 数据中心</a>
<li><a href="#config">6.3 重要的配置</a>
<ul>
<li><a href="#clientconfig">Important Client Configs</a>
<li><a href="#prodconfig">A Production Server Configs</a>
<li><a href="#clientconfig">重要的客户端配置</a>
<li><a href="#prodconfig">一个生产环境的Server配置</a>
</ul>
<li><a href="#java">6.4 Java Version</a>
<li><a href="#hwandos">6.5 Hardware and OS</a>
<li><a href="#java">6.4 Java 版本</a>
<li><a href="#hwandos">6.5 硬件和操作系统 </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="#os">操作系统</a>
<li><a href="#diskandfs">磁盘和文件系统</a>
<li><a href="#appvsosflush">应用 vs 操作系统Flush 管理</a>
<li><a href="#linuxflush">Linux Flush 动作</a>
<li><a href="#ext4">Ext4 Notes</a>
</ul>
<li><a href="#monitoring">6.6 Monitoring</a>
<li><a href="#monitoring">6.6 监控</a>
<li><a href="#zk">6.7 ZooKeeper</a>
<ul>
<li><a href="#zkversion">Stable Version</a>
<li><a href="#zkops">Operationalization</a>
<li><a href="#zkversion">稳定的版本</a>
<li><a href="#zkops">操作化</a>
</ul>
</ul>
</li>
<li><a href="#security">7. Security</a>
<li><a href="#security">7. 安全</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>
<li><a href="#security_overview">7.1 安全总览</a></li>
<li><a href="#security_ssl">7.2 使用SSL加密和授权</a></li>
<li><a href="#security_sasl">7.3 使用SASL授权</a></li>
<li><a href="#security_authz">7.4 授权和ACLs</a></li>
<li><a href="#security_rolling_upgrade">7.5 将安全功能集成到正在运行的群集中</a></li>
<li><a href="#zk_authz">7.6 ZooKeeper 授权</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_new">新集群</a></li>
<li><a href="#zk_authz_migration">迁移集群</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>
<li><a href="#connect">8. Kafka 连接器</a>
<ul>
<li><a href="#connect_overview">8.1 Overview</a></li>
<li><a href="#connect_user">8.2 User Guide</a></li>
<li><a href="#connect_overview">8.1 概括</a></li>
<li><a href="#connect_user">8.2 使用指南 </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_running">运行 Kafka 连接器</a></li>
<li><a href="#connect_configuring">配置连接器</a></li>
<li><a href="#connect_transforms">转换器</a></li>
<li><a href="#connect_rest">REST API</a></li>
</ul>
<li><a href="#connect_development">8.3 Connector Development Guide</a></li>
<li><a href="#connect_development">8.3 连接器开发者指南 </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>
<li><a href="/{{version}}/documentation/streams/quickstart">9.1 运行一个Streams应用</a></li>
<li><a href="/{{version}}/documentation/streams/tutorial">9.2 编写自己的流应用程序</a></li>
<li><a href="/{{version}}/documentation/streams/developer-guide">9.3 主要的开发者</a></li>
<li><a href="/{{version}}/documentation/streams/core-concepts">9.4 核心思想 Concepts</a></li>
<li><a href="/{{version}}/documentation/streams/architecture">9.5 架构</a></li>
<li><a href="/{{version}}/documentation/streams/upgrade-guide">9.6 升级指南</a></li>
</ul>
</li>
</ul>
......
......@@ -34,7 +34,30 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "0102",
"dotVersion": "0.10.2"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Architecture</h1>
......@@ -156,12 +179,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -169,6 +321,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -34,7 +34,30 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "0102",
"dotVersion": "0.10.2"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Core Concepts</h1>
......@@ -134,12 +157,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -147,6 +299,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -34,7 +34,30 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "0102",
"dotVersion": "0.10.2"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Developer Guide</h1>
......@@ -571,12 +594,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -584,6 +736,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -34,7 +34,31 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "0102",
"dotVersion": "0.10.2"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="streams-template" type="text/x-handlebars-template">
<h1>Streams</h1>
......@@ -85,18 +109,267 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
</ul>
<div class="p-streams"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -34,7 +34,31 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "0102",
"dotVersion": "0.10.2"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Upgrade Guide &amp; API Changes</h1>
......@@ -170,12 +194,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Streams</a></li>
......@@ -183,6 +336,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
此差异已折叠。
......@@ -33,7 +33,33 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "10",
"dotVersion": "1.0",
"fullDotVersion": "1.0.0",
"scalaVersion": "2.11"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Architecture</h1>
......@@ -153,12 +179,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -166,6 +321,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -33,7 +33,33 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "10",
"dotVersion": "1.0",
"fullDotVersion": "1.0.0",
"scalaVersion": "2.11"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Core Concepts</h1>
......@@ -190,12 +216,141 @@
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -203,6 +358,126 @@
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
......@@ -33,7 +33,33 @@
limitations under the License.
-->
<script><!--#include virtual="../js/templateData.js" --></script>
<script>
/*
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.
*/
// Define variables for doc templates
var context={
"version": "10",
"dotVersion": "1.0",
"fullDotVersion": "1.0.0",
"scalaVersion": "2.11"
};
<!--#include virtual="../js/templateData.js" --></script>
<script id="content-template" type="text/x-handlebars-template">
<h1>Developer Guide for Kafka Streams API</h1>
......@@ -3004,12 +3030,141 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
</div>
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Apache Kafka</title>
<link rel='stylesheet' href='/css/styles.css' type='text/css'>
<link rel='stylesheet' href='/css/syntax-highlighting.css' type='text/css'>
<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
<meta name="robots" content="index,follow" />
<meta name="language" content="en" />
<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
<meta name="description" content="Apache Kafka: A Distributed Streaming Platform.">
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<meta property="og:title" content="Apache Kafka" />
<meta property="og:image" content="http://apache-kafka.org/images/apache-kafka.png" />
<meta property="og:description" content="Apache Kafka: A Distributed Streaming Platform." />
<meta property="og:site_name" content="Apache Kafka" />
<meta property="og:type" content="website" />
<link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:400,700,900" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script>
// DO NOT NEED TO UPDATE
// Legacy versions of the documentation to not do frontend redirect for
// These docs are written as a single super long file so no need to re-route
var legacyDocPaths = [
'/07/documentation',
'/07/documentation/',
'/08/documentation',
'/08/documentation/',
'/081/documentation',
'/081/documentation/',
'/082/documentation',
'/082/documentation/',
'/090/documentation',
'/090/documentation/',
'/0100/documentation',
'/0100/documentation/'
];
// Any direct request for Streams documentation in docs versions prior to 0101
// Redirect these requests to the standalone Streams doc page
var currentPath = window.location.pathname;
var shouldRedirect = !legacyDocPaths.includes(currentPath);
var isDocumenationPage = currentPath.includes('/documentation');
var hasNotSpecifiedFullPath = !currentPath.includes('/documentation/streams') && !currentPath.includes('/documentation/streams/');
// Look for legacy anchors to clue us in on what full path the user needs
// Add more as needed
var specifiedStreamsAnchor = window.location.hash.includes('#streams_');
if (shouldRedirect && isDocumenationPage && hasNotSpecifiedFullPath) {
if (specifiedStreamsAnchor) {
window.location.pathname = currentPath + 'streams';
}
}
</script>
</head>
<!--#include virtual="../../includes/_header.htm" -->
<body>
<div class="main">
<div class="header">
<a href="/"><img width="325" height="97" class="logo" src="/images/logo.png"></a>
</div>
<!--#include virtual="../../includes/_top.htm" -->
<div class="content documentation documentation--current">
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<!--#include virtual="../../includes/_docs_banner.htm" -->
<nav class="b-sticky-nav">
<div class="nav-scroller">
<div class="nav__inner">
<a class="b-nav__home nav__item" href="/">主页</a>
<a class="b-nav__intro nav__item" href="/intro">介绍</a>
<a class="b-nav__quickstart nav__item" href="/quickstart">快速开始</a>
<a class="b-nav__uses nav__item" href="/uses">使用案例</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__docs nav__item nav__sub__anchor" href="/documentation.html">文档</a>
<a class="nav__item nav__sub__item" href="/documentation.html#gettingStarted">入门</a>
<a class="nav__item nav__sub__item" href="/documentation.html#api">APIs</a>
<a class="b-nav__streams nav__item nav__sub__item" href="/documentation.html#streams">kafka streams</a>
<a class="nav__item nav__sub__item" href="/documentation.html#connect">kafka connect</a>
<a class="nav__item nav__sub__item" href="/documentation.html#configuration">配置</a>
<a class="nav__item nav__sub__item" href="/documentation.html#design">设计</a>
<a class="nav__item nav__sub__item" href="/documentation.html#implementation">实现</a>
<a class="nav__item nav__sub__item" href="/documentation.html#operations">操作</a>
<a class="nav__item nav__sub__item" href="/documentation.html#security">安全</a>
</div>
<a class="b-nav__performance nav__item" href="/performance">性能</a>
<a class="b-nav__poweredby nav__item" href="/powered-by">powered by</a>
<a class="b-nav__project nav__item" href="/project">项目信息</a>
<a class="b-nav__ecosystem nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem" target="_blank">生态圈</a>
<a class="b-nav__clients nav__item" href="https://cwiki.apache.org/confluence/display/KAFKA/Clients" target="_blank">客户端</a>
<a class="b-nav__events nav__item" href="/events">事件</a>
<a class="b-nav__contact nav__item" href="/contact">联系我们</a>
<div class="nav__item nav__item__with__subs">
<a class="b-nav__apache nav__item nav__sub__anchor b-nav__sub__anchor" href="#">apache</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/" target="_blank">贡献</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/licenses/" target="_blank">license</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/sponsorship.html" target="_blank">赞助</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/foundation/thanks.html" target="_blank">感谢</a>
<a class="b-nav__apache nav__item nav__sub__item" href="http://www.apache.org/security/" target="_blank">安全</a>
</div>
<a class="btn" href="/downloads">下载</a>
<div class="social-links">
<a class="twitter" href="https://twitter.com/apachekafka" target="_blank">@apachekafka</a>
</div>
</div>
</div>
<div class="navindicator">
<div class="b-nav__home navindicator__item"></div>
<div class="b-nav__intro navindicator__item"></div>
<div class="b-nav__quickstart navindicator__item"></div>
<div class="b-nav__uses navindicator__item"></div>
<div class="b-nav__docs navindicator__item"></div>
<div class="b-nav__performance navindicator__item"></div>
<div class="b-nav__poweredby navindicator__item"></div>
<div class="b-nav__project navindicator__item"></div>
<div class="b-nav__ecosystem navindicator__item"></div>
<div class="b-nav__clients navindicator__item"></div>
<div class="b-nav__events navindicator__item"></div>
<div class="b-nav__contact navindicator__item"></div>
</div>
</nav>
<!--#include virtual="../../includes/_nav.htm" -->
<div class="right">
<a class="documentation__banner b-sticky-doc-banner" href="/documentation">
You're viewing documentation for an older version of Kafka - check out our current documentation here.
</a>
<!--#include virtual="../../includes/_docs_banner.htm" -->
<ul class="breadcrumbs">
<li><a href="/documentation">Documentation</a></li>
<li><a href="/documentation/streams">Kafka Streams API</a></li>
......@@ -3017,6 +3172,126 @@ Note that in the <code>WordCountProcessor</code> implementation, users need to r
<div class="p-content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="footer__inner">
<div class="footer__legal">
<span class="footer__legal__one">The contents of this website are &copy; 2016 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> under the terms of the <a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License v2</a>.</span>
<span class="footer__legal__two">Apache Kafka, Kafka, and the Kafka logo are either registered trademarks or trademarks of The Apache Software Foundation</span>
<span class="footer__legal__three">in the United States and other countries.</span>
</div>
<a class="apache-feather" target="_blank" href="http://www.apache.org">
<img width="40" src="/images/feather-small.png" alt="Apache Feather">
</a>
</div>
</div>
</body>
<script type="text/javascript" src="/js/syntaxhighlighter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script>
$(function () {
// list of pages that are rendered with Handlebars
var templates = [
'introduction',
'implementation',
'design',
'api',
'configuration',
'ops',
'security',
'connect',
'streams',
'quickstart',
'toc',
'upgrade',
'content'
];
// loop through all Handlebar templates on the page and render them
for(var i = 0; i < templates.length; i++) {
var templateScript = $("#" + templates[i] + "-template").html();
if(templateScript) {
var template = Handlebars.compile(templateScript);
var html = template(context);
$(".p-" + templates[i]).html(html);
}
}
});
</script>
<script src="/js/jquery.sticky-kit.min.js"></script>
<script>
$(function() {
// Set mobile scroll position on nav
function setNavScroll(offsetLeft) {
$('.nav-scroller').animate({
scrollLeft: $('.nav-scroller').scrollLeft() + $('nav .selected').offset().left - offsetLeft
}, 50);
}
// Helper classes for nav
$('nav').mouseenter(function(){
$(this).addClass('hovering');
});
$('nav').mouseleave(function(){
$(this).removeClass('hovering');
});
// Handle expanding sections of nav (async)
$('.b-nav__sub__anchor').click(function(){
$('nav .selected').removeClass('selected');
$('.nav__item__with__subs--expanded').removeClass('nav__item__with__subs--expanded');
$(this).addClass('selected');
$(this).parent().toggleClass('nav__item__with__subs--expanded');
if($(window).width() <= 650) {
window.setTimeout(function(){
setNavScroll(30);
}, 300);
}
});
// Initialize sticky elements on the page
if($(window).width() > 650) {
// Nav for desktop
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
// Documentation banner for desktop
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
} else {
// Scroll nav for mobile so current nav item is in view
window.setTimeout(function(){
setNavScroll(80);
}, 300);
}
// On window resize check to see if stuff should be unstuck
window.onresize = function(event) {
if($(window).width() <= 650) {
$('.b-sticky-nav').trigger("sticky_kit:detach");
} else {
$('.b-sticky-nav').stick_in_parent({offset_top: 40});
$('.b-sticky-doc-banner').stick_in_parent({offset_top: 0});
}
};
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-7818013-4', 'apache.org');
ga('send', 'pageview');
</script>
</html>
<!--#include virtual="../../includes/_footer.htm" -->
<script>
$(function() {
......
此差异已折叠。
......@@ -46,135 +46,135 @@ var context={
<script id="toc-template" type="text/x-handlebars-template">
<ul class="toc">
<li><a href="#gettingStarted">1. Getting Started</a>
<li><a href="#gettingStarted">1. 入门</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>
<li><a href="#introduction">1.1 介绍</a>
<li><a href="#uses">1.2 使用案例</a>
<li><a href="#quickstart">1.3 快速开始</a>
<li><a href="#ecosystem">1.4 生态圈</a>
<li><a href="#upgrade">1.5 升级</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="#producerapi">2.1 生产者 API</a>
<li><a href="#consumerapi">2.2 消费者 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>
<li><a href="#connectapi">2.4 连接器 API</a>
<li><a href="#adminapi">2.5 管理客户端 API</a>
<li><a href="#legacyapis">2.6 废弃的 APIs</a>
</ul>
</li>
<li><a href="#configuration">3. Configuration</a>
<li><a href="#configuration">3. 配置</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>
<li><a href="#brokerconfigs">3.1 Broker 配置</a>
<li><a href="#topicconfigs">3.2 Topic 配置</a>
<li><a href="#producerconfigs">3.3 Producer 配置</a>
<li><a href="#consumerconfigs">3.4 Consumer 配置</a>
<ul>
<li><a href="#newconsumerconfigs">3.4.1 New Consumer Configs</a>
<li><a href="#oldconsumerconfigs">3.4.2 Old Consumer Configs</a>
<li><a href="#newconsumerconfigs">3.4.1 New Consumer 配置</a>
<li><a href="#oldconsumerconfigs">3.4.2 Old Consumer 配置</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>
<li><a href="#connectconfigs">3.5 Kafka Connect 配置</a>
<li><a href="#streamsconfigs">3.6 Kafka Streams 配置</a>
<li><a href="#adminclientconfigs">3.7 AdminClient 配置</a>
</ul>
</li>
<li><a href="#design">4. Design</a>
<li><a href="#design">4. 设计思想</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="#majordesignelements">4.1 动机</a>
<li><a href="#persistence">4.2 持久化</a>
<li><a href="#maximizingefficiency">4.3 性能</a>
<li><a href="#theproducer">4.4 生产者</a>
<li><a href="#theconsumer">4.5 消费者</a>
<li><a href="#semantics">4.6 消息分发策略</a>
<li><a href="#replication">4.7 备份</a>
<li><a href="#compaction">4.8 日志压缩</a>
<li><a href="#design_quotas">4.9 Quotas</a>
</ul>
</li>
<li><a href="#implementation">5. Implementation</a>
<li><a href="#implementation">5. 实现</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>
<li><a href="#networklayer">5.1 网络层 </a>
<li><a href="#messages">5.2 消息</a>
<li><a href="#messageformat">5.3 消息格式</a>
<li><a href="#log">5.4 日志</a>
<li><a href="#distributionimpl">5.5 分布式</a>
</ul>
</li>
<li><a href="#operations">6. Operations</a>
<li><a href="#operations">6. 操作</a>
<ul>
<li><a href="#basic_ops">6.1 Basic Kafka Operations</a>
<li><a href="#basic_ops">6.1 基本的 Kafka 操作</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>
<li><a href="#basic_ops_add_topic">添加和移除 topics</a>
<li><a href="#basic_ops_modify_topic">改动 topics</a>
<li><a href="#basic_ops_restarting">优雅的关闭kafka</a>
<li><a href="#basic_ops_leader_balancing">Balance leader</a>
<li><a href="#basic_ops_consumer_lag">检查consumer的位置(offset)</a>
<li><a href="#basic_ops_mirror_maker">集群之间做数据镜像</a>
<li><a href="#basic_ops_cluster_expansion">扩展你的Kafka集群</a>
<li><a href="#basic_ops_decommissioning_brokers">下线brokers</a>
<li><a href="#basic_ops_increase_replication_factor">增加副本数</a>
</ul>
<li><a href="#datacenters">6.2 Datacenters</a>
<li><a href="#config">6.3 Important Configs</a>
<li><a href="#datacenters">6.2 数据中心</a>
<li><a href="#config">6.3 重要的配置</a>
<ul>
<li><a href="#clientconfig">Important Client Configs</a>
<li><a href="#prodconfig">A Production Server Configs</a>
<li><a href="#clientconfig">重要的客户端配置</a>
<li><a href="#prodconfig">一个生产环境的Server配置</a>
</ul>
<li><a href="#java">6.4 Java Version</a>
<li><a href="#hwandos">6.5 Hardware and OS</a>
<li><a href="#java">6.4 Java 版本</a>
<li><a href="#hwandos">6.5 硬件和操作系统 </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="#os">操作系统</a>
<li><a href="#diskandfs">磁盘和文件系统</a>
<li><a href="#appvsosflush">应用 vs 操作系统Flush 管理</a>
<li><a href="#linuxflush">Linux Flush 动作</a>
<li><a href="#ext4">Ext4 Notes</a>
</ul>
<li><a href="#monitoring">6.6 Monitoring</a>
<li><a href="#monitoring">6.6 监控</a>
<li><a href="#zk">6.7 ZooKeeper</a>
<ul>
<li><a href="#zkversion">Stable Version</a>
<li><a href="#zkops">Operationalization</a>
<li><a href="#zkversion">稳定的版本</a>
<li><a href="#zkops">操作化</a>
</ul>
</ul>
</li>
<li><a href="#security">7. Security</a>
<li><a href="#security">7. 安全</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>
<li><a href="#security_overview">7.1 安全总览</a></li>
<li><a href="#security_ssl">7.2 使用SSL加密和授权</a></li>
<li><a href="#security_sasl">7.3 使用SASL授权</a></li>
<li><a href="#security_authz">7.4 授权和ACLs</a></li>
<li><a href="#security_rolling_upgrade">7.5 将安全功能集成到正在运行的群集中</a></li>
<li><a href="#zk_authz">7.6 ZooKeeper 授权</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_new">新集群</a></li>
<li><a href="#zk_authz_migration">迁移集群</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>
<li><a href="#connect">8. Kafka 连接器</a>
<ul>
<li><a href="#connect_overview">8.1 Overview</a></li>
<li><a href="#connect_user">8.2 User Guide</a></li>
<li><a href="#connect_overview">8.1 概括</a></li>
<li><a href="#connect_user">8.2 使用指南 </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_running">运行 Kafka 连接器</a></li>
<li><a href="#connect_configuring">配置连接器</a></li>
<li><a href="#connect_transforms">转换器</a></li>
<li><a href="#connect_rest">REST API</a></li>
</ul>
<li><a href="#connect_development">8.3 Connector Development Guide</a></li>
<li><a href="#connect_development">8.3 连接器开发者指南 </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>
<li><a href="/{{version}}/documentation/streams/quickstart">9.1 运行一个Streams应用</a></li>
<li><a href="/{{version}}/documentation/streams/tutorial">9.2 编写自己的流应用程序</a></li>
<li><a href="/{{version}}/documentation/streams/developer-guide">9.3 主要的开发者</a></li>
<li><a href="/{{version}}/documentation/streams/core-concepts">9.4 核心思想 Concepts</a></li>
<li><a href="/{{version}}/documentation/streams/architecture">9.5 架构</a></li>
<li><a href="/{{version}}/documentation/streams/upgrade-guide">9.6 升级指南</a></li>
</ul>
</li>
</ul>
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
<!-- should always link the the latest release's documentation -->
<!--#include virtual="../10/documentation.html" -->
@@include('../10/documentation.html')
\ No newline at end of file
<!-- should always link the the latest release's documentation -->
<!--#include virtual="../../10/streams/architecture.html" -->
@@include('../../10/streams/architecture.html')
<!-- should always link the the latest release's documentation -->
<!--#include virtual="../../10/streams/core-concepts.html" -->
@@include('../../10/streams/core-concepts.html')
\ No newline at end of file
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册