You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/10/30 14:31:18 UTC

[pulsar] branch asf-site updated: Updated site at revision 95f4385

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 4d5e896  Updated site at revision 95f4385
4d5e896 is described below

commit 4d5e89610c3d7719704ebc26d72403f0427ba16c
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Oct 30 14:31:05 2018 +0000

    Updated site at revision 95f4385
---
 .../docs/en/next/client-libraries-websocket.html   |  2 +-
 .../en/next/client-libraries-websocket/index.html  |  2 +-
 .../docs/fr/next/client-libraries-websocket.html   |  2 +-
 .../fr/next/client-libraries-websocket/index.html  |  2 +-
 .../docs/ja/next/client-libraries-websocket.html   |  2 +-
 .../ja/next/client-libraries-websocket/index.html  |  2 +-
 .../docs/latest/adaptors/PulsarSpark/index.html    |  8 ++---
 .../docs/latest/adaptors/PulsarStorm/index.html    |  6 ++--
 content/docs/latest/admin-api/overview/index.html  | 10 +++----
 content/docs/latest/clients/Cpp/index.html         |  8 ++---
 content/docs/latest/clients/Java/index.html        | 14 ++++-----
 content/docs/latest/clients/Python/index.html      | 10 +++----
 content/docs/latest/clients/WebSocket/index.html   |  8 ++---
 content/docs/latest/clients/go/index.html          |  6 ++--
 .../docs/latest/cookbooks/Encryption/index.html    |  6 ++--
 .../latest/cookbooks/PartitionedTopics/index.html  | 14 ++++-----
 .../latest/cookbooks/RetentionExpiry/index.html    | 14 ++++-----
 .../docs/latest/cookbooks/compaction/index.html    |  6 ++--
 .../cookbooks/message-deduplication/index.html     | 10 +++----
 .../docs/latest/cookbooks/message-queue/index.html | 14 ++++-----
 .../latest/cookbooks/tiered-storage/index.html     |  4 +--
 .../docs/latest/deployment/Kubernetes/index.html   |  4 +--
 .../docs/latest/deployment/aws-cluster/index.html  |  4 +--
 content/docs/latest/deployment/cluster/index.html  |  4 +--
 content/docs/latest/deployment/instance/index.html |  4 +--
 .../ConceptsAndArchitecture/index.html             |  4 +--
 .../latest/getting-started/LocalCluster/index.html |  4 +--
 .../latest/getting-started/Pulsar-2.0/index.html   |  2 +-
 .../docs/latest/getting-started/docker/index.html  |  4 +--
 .../docs/latest/project/BinaryProtocol/index.html  |  4 +--
 content/docs/latest/project/CompileCpp/index.html  |  8 ++---
 .../docs/latest/project/SimulationTools/index.html |  2 +-
 .../docs/latest/project/schema-storage/index.html  |  4 +--
 content/docs/latest/reference/CliTools/index.html  | 18 ++++++------
 .../docs/latest/security/authorization/index.html  | 10 +++----
 content/docs/latest/security/encryption/index.html |  6 ++--
 .../2.1.0-incubating/client-libraries-java.html    |  6 ++--
 .../client-libraries-java/index.html               |  6 ++--
 .../concepts-architecture-overview.html            |  6 ++--
 .../concepts-architecture-overview/index.html      |  6 ++--
 .../zh-CN/2.1.0-incubating/concepts-clients.html   |  6 ++--
 .../2.1.0-incubating/concepts-clients/index.html   |  6 ++--
 .../2.1.1-incubating/client-libraries-java.html    |  6 ++--
 .../client-libraries-java/index.html               |  6 ++--
 .../concepts-architecture-overview.html            |  6 ++--
 .../concepts-architecture-overview/index.html      |  6 ++--
 .../zh-CN/2.1.1-incubating/concepts-clients.html   |  6 ++--
 .../2.1.1-incubating/concepts-clients/index.html   |  6 ++--
 content/docs/zh-CN/client-libraries-java.html      |  6 ++--
 .../docs/zh-CN/client-libraries-java/index.html    |  6 ++--
 .../docs/zh-CN/concepts-architecture-overview.html |  6 ++--
 .../concepts-architecture-overview/index.html      |  6 ++--
 content/docs/zh-CN/concepts-clients.html           |  6 ++--
 content/docs/zh-CN/concepts-clients/index.html     |  6 ++--
 content/docs/zh-CN/next/client-libraries-java.html | 24 +++++++--------
 .../zh-CN/next/client-libraries-java/index.html    | 24 +++++++--------
 .../zh-CN/next/client-libraries-websocket.html     |  2 +-
 .../next/client-libraries-websocket/index.html     |  2 +-
 .../zh-CN/next/concepts-architecture-overview.html |  6 ++--
 .../next/concepts-architecture-overview/index.html |  6 ++--
 content/docs/zh-CN/next/concepts-clients.html      |  6 ++--
 .../docs/zh-CN/next/concepts-clients/index.html    |  6 ++--
 content/docs/zh-CN/next/sql-overview.html          | 10 +++----
 content/docs/zh-CN/next/sql-overview/index.html    | 10 +++----
 content/docs/zh-CN/sql-overview.html               | 10 +++----
 content/docs/zh-CN/sql-overview/index.html         | 10 +++----
 content/ja/adaptors/PulsarSpark/index.html         |  8 ++---
 content/ja/adaptors/PulsarStorm/index.html         |  6 ++--
 content/ja/admin/AdminInterface/index.html         | 12 ++++----
 content/ja/admin/Authz/index.html                  | 12 ++++----
 content/ja/admin/ClustersBrokers/index.html        |  6 ++--
 content/ja/admin/PropertiesNamespaces/index.html   |  6 ++--
 content/ja/advanced/PartitionedTopics/index.html   | 12 ++++----
 content/ja/advanced/RetentionExpiry/index.html     | 12 ++++----
 content/ja/clients/Cpp/index.html                  |  6 ++--
 content/ja/clients/Java/index.html                 |  8 ++---
 content/ja/clients/Python/index.html               |  8 ++---
 content/ja/clients/WebSocket/index.html            |  8 ++---
 content/ja/deployment/InstanceSetup/index.html     |  6 ++--
 content/ja/deployment/Kubernetes/index.html        |  4 +--
 .../ConceptsAndArchitecture/index.html             |  2 +-
 content/ja/getting-started/LocalCluster/index.html |  4 +--
 content/ja/project/BinaryProtocol/index.html       |  4 +--
 content/ja/project/SimulationTools/index.html      |  2 +-
 content/ja/reference/CliTools/index.html           | 18 ++++++------
 content/swagger/swagger.json                       | 34 +++++++++++-----------
 86 files changed, 317 insertions(+), 317 deletions(-)

diff --git a/content/docs/en/next/client-libraries-websocket.html b/content/docs/en/next/client-libraries-websocket.html
index 4072e79..bd88d53 100644
--- a/content/docs/en/next/client-libraries-websocket.html
+++ b/content/docs/en/next/client-libraries-websocket.html
@@ -281,7 +281,7 @@ following error codes:</p>
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/en/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/en/next/client-libraries-websocket/index.html b/content/docs/en/next/client-libraries-websocket/index.html
index 4072e79..bd88d53 100644
--- a/content/docs/en/next/client-libraries-websocket/index.html
+++ b/content/docs/en/next/client-libraries-websocket/index.html
@@ -281,7 +281,7 @@ following error codes:</p>
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/en/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/fr/next/client-libraries-websocket.html b/content/docs/fr/next/client-libraries-websocket.html
index 9560e1d..d4d88cc 100644
--- a/content/docs/fr/next/client-libraries-websocket.html
+++ b/content/docs/fr/next/client-libraries-websocket.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/fr/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/fr/next/client-libraries-websocket/index.html b/content/docs/fr/next/client-libraries-websocket/index.html
index 9560e1d..d4d88cc 100644
--- a/content/docs/fr/next/client-libraries-websocket/index.html
+++ b/content/docs/fr/next/client-libraries-websocket/index.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/fr/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/ja/next/client-libraries-websocket.html b/content/docs/ja/next/client-libraries-websocket.html
index c841741..67d8ff2 100644
--- a/content/docs/ja/next/client-libraries-websocket.html
+++ b/content/docs/ja/next/client-libraries-websocket.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/ja/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/ja/next/client-libraries-websocket/index.html b/content/docs/ja/next/client-libraries-websocket/index.html
index c841741..67d8ff2 100644
--- a/content/docs/ja/next/client-libraries-websocket/index.html
+++ b/content/docs/ja/next/client-libraries-websocket/index.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/ja/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/latest/adaptors/PulsarSpark/index.html b/content/docs/latest/adaptors/PulsarSpark/index.html
index a30d928..d130108 100644
--- a/content/docs/latest/adaptors/PulsarSpark/index.html
+++ b/content/docs/latest/adaptors/PulsarSpark/index.html
@@ -1079,9 +1079,9 @@
           
           
           
+          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
-          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
           
@@ -1325,9 +1325,9 @@
           
           
           
+          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
-          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
           
@@ -1537,8 +1537,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1617,6 +1615,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/adaptors/PulsarStorm/index.html b/content/docs/latest/adaptors/PulsarStorm/index.html
index 3059cf5..67a4256 100644
--- a/content/docs/latest/adaptors/PulsarStorm/index.html
+++ b/content/docs/latest/adaptors/PulsarStorm/index.html
@@ -1083,9 +1083,9 @@
           
           
           
+          <li><a href="/docs/latest/adaptors/PulsarStorm/">Pulsar adaptor for Apache Storm</a></li>
           
           
-          <li><a href="/docs/latest/adaptors/PulsarStorm/">Pulsar adaptor for Apache Storm</a></li>
           
           
           
@@ -1291,8 +1291,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1371,6 +1369,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/admin-api/overview/index.html b/content/docs/latest/admin-api/overview/index.html
index 80a6f28..a2bc7c5 100644
--- a/content/docs/latest/admin-api/overview/index.html
+++ b/content/docs/latest/admin-api/overview/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1271,9 +1271,9 @@
           
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1805,8 +1805,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1885,6 +1883,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/clients/Cpp/index.html b/content/docs/latest/clients/Cpp/index.html
index 5dabb35..58e0246 100644
--- a/content/docs/latest/clients/Cpp/index.html
+++ b/content/docs/latest/clients/Cpp/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1021,9 +1019,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1157,6 +1155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/clients/Java/index.html b/content/docs/latest/clients/Java/index.html
index b938e5f..5b89223 100644
--- a/content/docs/latest/clients/Java/index.html
+++ b/content/docs/latest/clients/Java/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1021,9 +1019,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1157,6 +1155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1301,8 +1301,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1381,6 +1379,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1557,9 +1557,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
@@ -1805,9 +1805,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
diff --git a/content/docs/latest/clients/Python/index.html b/content/docs/latest/clients/Python/index.html
index 4d34e49..60bea8e 100644
--- a/content/docs/latest/clients/Python/index.html
+++ b/content/docs/latest/clients/Python/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1021,9 +1019,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1157,6 +1155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1343,8 +1343,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
@@ -1417,6 +1415,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/cookbooks/message-queue/">Using Pulsar as a message queue</a></li>
           
           
diff --git a/content/docs/latest/clients/WebSocket/index.html b/content/docs/latest/clients/WebSocket/index.html
index 0c3f19d..b881453 100644
--- a/content/docs/latest/clients/WebSocket/index.html
+++ b/content/docs/latest/clients/WebSocket/index.html
@@ -1107,9 +1107,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
@@ -1353,9 +1353,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
@@ -1579,8 +1579,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
@@ -1653,6 +1651,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/cookbooks/message-queue/">Using Pulsar as a message queue</a></li>
           
           
diff --git a/content/docs/latest/clients/go/index.html b/content/docs/latest/clients/go/index.html
index 1492ffb..a06ad5f 100644
--- a/content/docs/latest/clients/go/index.html
+++ b/content/docs/latest/clients/go/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1021,9 +1019,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1157,6 +1155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/Encryption/index.html b/content/docs/latest/cookbooks/Encryption/index.html
index 18ca402..a6132a3 100644
--- a/content/docs/latest/cookbooks/Encryption/index.html
+++ b/content/docs/latest/cookbooks/Encryption/index.html
@@ -1567,9 +1567,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1823,8 +1823,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -1901,6 +1899,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/PartitionedTopics/index.html b/content/docs/latest/cookbooks/PartitionedTopics/index.html
index c5c0499..b385286 100644
--- a/content/docs/latest/cookbooks/PartitionedTopics/index.html
+++ b/content/docs/latest/cookbooks/PartitionedTopics/index.html
@@ -1069,9 +1069,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1315,9 +1315,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1497,8 +1497,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1617,6 +1615,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1829,9 +1829,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -2085,8 +2085,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -2163,6 +2161,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/RetentionExpiry/index.html b/content/docs/latest/cookbooks/RetentionExpiry/index.html
index 763a81c..48e2d65 100644
--- a/content/docs/latest/cookbooks/RetentionExpiry/index.html
+++ b/content/docs/latest/cookbooks/RetentionExpiry/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1361,9 +1361,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -1607,9 +1607,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -1853,9 +1853,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -2075,8 +2075,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -2153,6 +2151,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/compaction/index.html b/content/docs/latest/cookbooks/compaction/index.html
index e0c2266..0d47061 100644
--- a/content/docs/latest/cookbooks/compaction/index.html
+++ b/content/docs/latest/cookbooks/compaction/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1337,9 +1337,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/message-deduplication/index.html b/content/docs/latest/cookbooks/message-deduplication/index.html
index 7767ce8..5505920 100644
--- a/content/docs/latest/cookbooks/message-deduplication/index.html
+++ b/content/docs/latest/cookbooks/message-deduplication/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
@@ -1585,8 +1585,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -1663,6 +1661,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/message-queue/index.html b/content/docs/latest/cookbooks/message-queue/index.html
index 32e4e8f..3aed975 100644
--- a/content/docs/latest/cookbooks/message-queue/index.html
+++ b/content/docs/latest/cookbooks/message-queue/index.html
@@ -1071,9 +1071,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1301,8 +1301,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1381,6 +1379,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1599,8 +1599,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
@@ -1673,6 +1671,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/cookbooks/message-queue/">Using Pulsar as a message queue</a></li>
           
           
@@ -2079,8 +2079,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -2157,6 +2155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/tiered-storage/index.html b/content/docs/latest/cookbooks/tiered-storage/index.html
index d2419ee..e6a26c3 100644
--- a/content/docs/latest/cookbooks/tiered-storage/index.html
+++ b/content/docs/latest/cookbooks/tiered-storage/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/Kubernetes/index.html b/content/docs/latest/deployment/Kubernetes/index.html
index 868a18b..82e2140 100644
--- a/content/docs/latest/deployment/Kubernetes/index.html
+++ b/content/docs/latest/deployment/Kubernetes/index.html
@@ -1051,9 +1051,9 @@
           
           
           
+          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
-          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
           
@@ -1297,9 +1297,9 @@
           
           
           
+          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
-          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
           
diff --git a/content/docs/latest/deployment/aws-cluster/index.html b/content/docs/latest/deployment/aws-cluster/index.html
index 47a5a53..c0f626a 100644
--- a/content/docs/latest/deployment/aws-cluster/index.html
+++ b/content/docs/latest/deployment/aws-cluster/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/cluster/index.html b/content/docs/latest/deployment/cluster/index.html
index 3113ea1..64813ca 100644
--- a/content/docs/latest/deployment/cluster/index.html
+++ b/content/docs/latest/deployment/cluster/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/instance/index.html b/content/docs/latest/deployment/instance/index.html
index 9a49d19..cf29458 100644
--- a/content/docs/latest/deployment/instance/index.html
+++ b/content/docs/latest/deployment/instance/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
index 51203a8..c7b2dad 100644
--- a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
+++ b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
@@ -1021,9 +1021,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
@@ -1267,9 +1267,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/LocalCluster/index.html b/content/docs/latest/getting-started/LocalCluster/index.html
index 564bdd5..dcceda6 100644
--- a/content/docs/latest/getting-started/LocalCluster/index.html
+++ b/content/docs/latest/getting-started/LocalCluster/index.html
@@ -1057,9 +1057,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
@@ -1305,9 +1305,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/Pulsar-2.0/index.html b/content/docs/latest/getting-started/Pulsar-2.0/index.html
index 45ec5ca..2018e47 100644
--- a/content/docs/latest/getting-started/Pulsar-2.0/index.html
+++ b/content/docs/latest/getting-started/Pulsar-2.0/index.html
@@ -1563,9 +1563,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/docker/index.html b/content/docs/latest/getting-started/docker/index.html
index 9bd32cd..d67525e 100644
--- a/content/docs/latest/getting-started/docker/index.html
+++ b/content/docs/latest/getting-started/docker/index.html
@@ -1057,9 +1057,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
@@ -1305,9 +1305,9 @@
           
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
diff --git a/content/docs/latest/project/BinaryProtocol/index.html b/content/docs/latest/project/BinaryProtocol/index.html
index 3e28b29..5d74a12 100644
--- a/content/docs/latest/project/BinaryProtocol/index.html
+++ b/content/docs/latest/project/BinaryProtocol/index.html
@@ -1001,9 +1001,9 @@
           
           
           
+          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
-          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
           
@@ -1247,9 +1247,9 @@
           
           
           
+          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
-          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
           
diff --git a/content/docs/latest/project/CompileCpp/index.html b/content/docs/latest/project/CompileCpp/index.html
index bd1db5f..0b1376a 100644
--- a/content/docs/latest/project/CompileCpp/index.html
+++ b/content/docs/latest/project/CompileCpp/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1021,9 +1019,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1157,6 +1155,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/project/SimulationTools/index.html b/content/docs/latest/project/SimulationTools/index.html
index e601624..8857516 100644
--- a/content/docs/latest/project/SimulationTools/index.html
+++ b/content/docs/latest/project/SimulationTools/index.html
@@ -1099,9 +1099,9 @@
           
           
           
+          <li><a href="/docs/latest/project/SimulationTools/">Simulation tools</a></li>
           
           
-          <li><a href="/docs/latest/project/SimulationTools/">Simulation tools</a></li>
           
           
           
diff --git a/content/docs/latest/project/schema-storage/index.html b/content/docs/latest/project/schema-storage/index.html
index 333ed51..9d6b5fd 100644
--- a/content/docs/latest/project/schema-storage/index.html
+++ b/content/docs/latest/project/schema-storage/index.html
@@ -1045,9 +1045,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
@@ -1293,9 +1293,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
diff --git a/content/docs/latest/reference/CliTools/index.html b/content/docs/latest/reference/CliTools/index.html
index 1f6ea9f..6956c81 100644
--- a/content/docs/latest/reference/CliTools/index.html
+++ b/content/docs/latest/reference/CliTools/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1271,9 +1271,9 @@
           
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1519,8 +1519,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1535,9 +1533,9 @@
           
           
           
-          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/project/CompileCpp/">Building Pulsar C++ client</a></li>
           
           
           
@@ -1671,6 +1669,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1775,9 +1775,9 @@
           
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -2021,9 +2021,9 @@
           
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -2267,9 +2267,9 @@
           
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
diff --git a/content/docs/latest/security/authorization/index.html b/content/docs/latest/security/authorization/index.html
index 538bda7..45a42d9 100644
--- a/content/docs/latest/security/authorization/index.html
+++ b/content/docs/latest/security/authorization/index.html
@@ -1005,8 +1005,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1125,6 +1123,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -2299,8 +2299,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -2379,6 +2377,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -2541,9 +2541,9 @@
           
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/security/encryption/index.html b/content/docs/latest/security/encryption/index.html
index 18ca402..a6132a3 100644
--- a/content/docs/latest/security/encryption/index.html
+++ b/content/docs/latest/security/encryption/index.html
@@ -1567,9 +1567,9 @@
           
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1823,8 +1823,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
@@ -1901,6 +1899,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/security/encryption/">Pulsar Encryption</a></li>
           
           
diff --git a/content/docs/zh-CN/2.1.0-incubating/client-libraries-java.html b/content/docs/zh-CN/2.1.0-incubating/client-libraries-java.html
index 0d75753..3bd6dc0 100644
--- a/content/docs/zh-CN/2.1.0-incubating/client-libraries-java.html
+++ b/content/docs/zh-CN/2.1.0-incubating/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.0-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.0-incubating"/> [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.0-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.0-incubating"/><me [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/2.1.0-incubating/admin-api-overvie [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/2.1.0-incubating/admin-api-overview"> [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.0-incubating/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.0-incubating/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/client-libraries-java/index.html b/content/docs/zh-CN/2.1.0-incubating/client-libraries-java/index.html
index 0d75753..3bd6dc0 100644
--- a/content/docs/zh-CN/2.1.0-incubating/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.0-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.0-incubating"/> [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.0-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.0-incubating"/><me [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/2.1.0-incubating/admin-api-overvie [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/2.1.0-incubating/admin-api-overview"> [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.0-incubating/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.0-incubating/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
index faf395e..7565b90 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.0-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-C [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.0-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.0-incubating/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.0-incubating/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
index faf395e..7565b90 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.0-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-C [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.0-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.0-incubating/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.0-incubating/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-clients.html b/content/docs/zh-CN/2.1.0-incubating/concepts-clients.html
index 7f193aa..7dae7e6 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-clients.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-clients.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/2.1.0-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.0-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="d [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/2.1.0-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.0-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/2.1.0-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.0-incubating/client- [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/2.1.0-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.0-incubating/clie [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-clients/index.html b/content/docs/zh-CN/2.1.0-incubating/concepts-clients/index.html
index 7f193aa..7dae7e6 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-clients/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-clients/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/2.1.0-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.0-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="d [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/2.1.0-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.0-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/2.1.0-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.0-incubating/client- [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/2.1.0-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.0-incubating/clie [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/client-libraries-java.html b/content/docs/zh-CN/2.1.1-incubating/client-libraries-java.html
index 983e287..6b507db 100644
--- a/content/docs/zh-CN/2.1.1-incubating/client-libraries-java.html
+++ b/content/docs/zh-CN/2.1.1-incubating/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.1-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.1-incub [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.1-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.1-incubati [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/2.1.1-incubating/admin-api [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/2.1.1-incubating/admin-api-ov [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.1-incubating/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.1-incubating/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/client-libraries-java/index.html b/content/docs/zh-CN/2.1.1-incubating/client-libraries-java/index.html
index 983e287..6b507db 100644
--- a/content/docs/zh-CN/2.1.1-incubating/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.1-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.1-incub [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/2.1.1-incubating/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.1.1-incubati [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/2.1.1-incubating/admin-api [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/2.1.1-incubating/admin-api-ov [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.1-incubating/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/2.1.1-incubating/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
index a985fdc..063f6ca 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.1-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:langua [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.1-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:lang [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.1-incubating/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.1-incubating/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
index a985fdc..063f6ca 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.1-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:langua [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/2.1.1-incubating/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:lang [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.1-incubating/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/2.1.1-incubating/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-clients.html b/content/docs/zh-CN/2.1.1-incubating/concepts-clients.html
index 15076e1..a75d87e 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-clients.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-clients.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/2.1.1-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.1-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta na [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/2.1.1-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.1-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/2.1.1-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.1-incubating/cl [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/2.1.1-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.1-incubating [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-clients/index.html b/content/docs/zh-CN/2.1.1-incubating/concepts-clients/index.html
index 15076e1..a75d87e 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-clients/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-clients/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/2.1.1-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.1-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta na [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/2.1.1-incubating/client-libraries-java)和[C++](/docs/zh-CN/2.1.1-incubating/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/2.1.1-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.1-incubating/cl [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/2.1.1-incubating/client-libraries-java">Java</a>和<a href="/docs/zh-CN/2.1.1-incubating [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/client-libraries-java.html b/content/docs/zh-CN/client-libraries-java.html
index 97a85ca..875aa4a 100644
--- a/content/docs/zh-CN/client-libraries-java.html
+++ b/content/docs/zh-CN/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearc [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:l [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/admin-api-overview">管理任务</ [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/admin-api-overview">管理任务</a>。 [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/client-libraries-java/index.html b/content/docs/zh-CN/client-libraries-java/index.html
index 97a85ca..875aa4a 100644
--- a/content/docs/zh-CN/client-libraries-java/index.html
+++ b/content/docs/zh-CN/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearc [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:l [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/admin-api-overview">管理任务</ [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Java client</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/admin-api-overview">管理任务</a>。 [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
diff --git a/content/docs/zh-CN/concepts-architecture-overview.html b/content/docs/zh-CN/concepts-architecture-overview.html
index bfb9367..208f583 100644
--- a/content/docs/zh-CN/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/concepts-architecture-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta p [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/concepts-architecture-overview/index.html b/content/docs/zh-CN/concepts-architecture-overview/index.html
index bfb9367..208f583 100644
--- a/content/docs/zh-CN/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/concepts-architecture-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta p [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Architecture Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/concepts-replication) 数据。"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Architecture Overview</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/concepts-clients.html b/content/docs/zh-CN/concepts-clients.html
index fcabe52..9eb0f9b 100644
--- a/content/docs/zh-CN/concepts-clients.html
+++ b/content/docs/zh-CN/concepts-clients.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/client-libraries-java)和[C++](/docs/zh-CN/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" content="2. [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/client-libraries-java)和[C++](/docs/zh-CN/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" content= [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/client-libraries-java">Java</a>和<a href="/docs/zh-CN/client-libraries-cpp">C++</a>的客户端API [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/client-libraries-java">Java</a>和<a href="/docs/zh-CN/client-libraries-cpp">C++</a>的客户端 [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/concepts-clients/index.html b/content/docs/zh-CN/concepts-clients/index.html
index fcabe52..9eb0f9b 100644
--- a/content/docs/zh-CN/concepts-clients/index.html
+++ b/content/docs/zh-CN/concepts-clients/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/client-libraries-java)和[C++](/docs/zh-CN/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" content="2. [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Clients · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/client-libraries-java)和[C++](/docs/zh-CN/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" content= [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/client-libraries-java">Java</a>和<a href="/docs/zh-CN/client-libraries-cpp">C++</a>的客户端API [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Clients</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/client-libraries-java">Java</a>和<a href="/docs/zh-CN/client-libraries-cpp">C++</a>的客户端 [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/next/client-libraries-java.html b/content/docs/zh-CN/next/client-libraries-java.html
index 7c55184..3a29b73 100644
--- a/content/docs/zh-CN/next/client-libraries-java.html
+++ b/content/docs/zh-CN/next/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/next/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:la [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/next/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:langu [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/next/admin-api-overview">管理任务</a>。 [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/next/admin-api-overview">管理任务</a>。 Ja [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -57,7 +57,7 @@
 </tbody>
 </table>
 <p>本文档仅关注Pulsar主题消息的生产和消费的客户端API. 关于使用 Java 管理客户端的指南, 请参见 <a href="/docs/zh-CN/next/admin-api-overview">Pulsar管理接口</a>。</p>
-<h2><a class="anchor" aria-hidden="true" id="installation"></a><a href="#installation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<h2><a class="anchor" aria-hidden="true" id="安装"></a><a href="#安装" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
 <p>最新版本的Pulsar Java 客户端库可通过 <a href="http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C2.2.0%7Cjar">Maven中央仓库</a> 使用。 要使用最新版本, 请将 <code>pulsar-client</code> 库添加到构建配置中。</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
@@ -106,7 +106,7 @@ dependencies {
 <blockquote>
 <p>除了客户端级别的配置,你还可以使用 <a href="#configuring-producers">生产者</a>和<a href="#configuring-consumers">消费者</a>特定配置,你将在下面的章节中看到。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="producers"></a><a href="#producers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<h2><a class="anchor" aria-hidden="true" id="生产者"></a><a href="#生产者" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>在Pulsar中,生产者写消息到主题中。 一旦你实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
 客户端对象(在<a href="#client-configuration">如上</a>z章节),你可以创建一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Producer">Producer</a>
 生产者用于特定的<a href="/docs/zh-CN/next/reference-terminology#topic">主题</a>。</p>
@@ -143,7 +143,7 @@ client.close();</p>
 </code></pre>
 <p>' %}</p>
 <h3><a class="anchor" aria-hidden="true" id="生产者配置"></a><a href="#生产者配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>如果实例化 <code>生产者</code> 对象时仅指定主题topic名称 (如上面的示例所示), 则生产者将使用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 {@inject javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} 类javadoc文档。 Here's an example:</p>
+<p>如果实例化 <code>生产者</code> 对象时仅指定主题topic名称 (如上面的示例所示), 则生产者将使用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 {@inject javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} 类javadoc文档。 下面是一个示例:</p>
 <pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
     .topic(<span class="hljs-string">"my-topic"</span>)
     .batchingMaxPublishDelay(<span class="hljs-number">10</span>, TimeUnit.MILLISECONDS)
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/next/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/next/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/next/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
@@ -171,7 +171,7 @@ client.close();</p>
     .send();
 `</pre> 
 <p>对于前一种情况,也可以使用<code>sendAsync()</code>来终止构建器链,并获取future返回值。</p>
-<h2><a class="anchor" aria-hidden="true" id="consumers"></a><a href="#consumers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<h2><a class="anchor" aria-hidden="true" id="消费者"></a><a href="#消费者" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>在Pulsar中,消费者订阅topic主题并处理生产者发布到这些主题的消息。 你可以首先实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
 对象并传递给他一个borker(<a href="#client-configuration">如上所示</a>) URL来实例化一个<a href="/docs/zh-CN/next/reference-terminology#consumer">消费者</a>。</p>
 <p>一旦实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
@@ -195,7 +195,7 @@ client.close();</p>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消费者配置"></a><a href="#消费者配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>如果实例化 <code>消费者</code> 对象, 仅指定主题和订阅名称, 如上面的示例所示, 消费者将采用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
-类javadoc文档。 Here's an example:</p>
+类javadoc文档。 下面是一个示例:</p>
 <p>这是一个示例配置:</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -276,7 +276,7 @@ consumerBuilder
 和 <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Reader">Reader</a>
 /api/ReaderConfiguration}来创建<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Reader">Reader</a>
 。</p>
-<p>Here's an example:</p>
+<p>下面是一个示例:</p>
 <pre><code class="hljs css language-java">ReaderConfiguration conf = <span class="hljs-keyword">new</span> ReaderConfiguration();
 <span class="hljs-keyword">byte</span>[] msgIdBytes = <span class="hljs-comment">// 一些消息ID 的字节数组</span>
 MessageId id = MessageId.fromByteArray(msgIdBytes);
@@ -293,7 +293,7 @@ Reader reader = pulsarClient.newReader()
 <p>在上面的示例中,实例化一个<code>Reader</code>对象对指定的主题和消息(ID); reader将遍历主题中<code>msgIdBytes</code>(取值方式取决于应用程序) 之后的消息。</p>
 <p>上面的示例代码展示了<code>Reader</code>对象指向特定的消息(ID),但你也可以使用<code>MessageId.earliest</code>来指向topic上最早可用的消息,使用<code>MessageId.latest</code>指向最新的消息。</p>
 <h2><a class="anchor" aria-hidden="true" id="schema"></a><a href="#schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<p>在Pulsar中,所有的消息数据都在字节数组中,<a href="/docs/zh-CN/next/concepts-schema-registry">消息schema</a>允许在构造和处理消息时使用其他类型的数据(从简单类型(如字符串)到更复杂的特定应用程序的类型)。 如果在不指定schema的情况下构造 <a href="#producers">生产者</a>,则生产者只能生成类型为 <code>byte[]</code>的消息。 Here's an example:</p>
+<p>在Pulsar中,所有的消息数据都在字节数组中,<a href="/docs/zh-CN/next/concepts-schema-registry">消息schema</a>允许在构造和处理消息时使用其他类型的数据(从简单类型(如字符串)到更复杂的特定应用程序的类型)。 如果在不指定schema的情况下构造 <a href="#producers">生产者</a>,则生产者只能生成类型为 <code>byte[]</code>的消息。 下面是一个示例:</p>
 <pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
         .topic(topic)
         .create();
@@ -350,7 +350,7 @@ Producer&lt;MyPojo&gt; pojoProducer = client.newProducer(pojoSchema)
     .create();
 </code></pre></li>
 </ul>
-<h2><a class="anchor" aria-hidden="true" id="authentication"></a><a href="#authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<h2><a class="anchor" aria-hidden="true" id="身份验证"></a><a href="#身份验证" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>Pulsar目前支持两种身份验证方案:<a href="/docs/zh-CN/next/security-tls-authentication"> TLS </a>和<a href="/docs/zh-CN/next/security-athenz"> Athenz </a>。 Pulsar Java客户端中两者可以一起使用。</p>
 <h3><a class="anchor" aria-hidden="true" id="tls-authentication"></a><a href="#tls-authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>要使用<a href="/docs/zh-CN/next/security-tls-authentication">TLS</a>,你需要使用<code>setUseTls</code>方法设置TLS为<code>true</code>,将您的Pulsar客户端指向TLS证书路径,并提供证书和密钥文件的路径。</p>
@@ -399,7 +399,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="支持的格式"></a><a href="#支持的格式" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p><code>privateKey</code>参数支持如下三种格式: * <code>file:///path/to/file</code> * <code>file:/path/to/file</code> * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-extending"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries-go"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-extending"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries-go"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#安装">安装</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gradle"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/client-libraries-java/index.html b/content/docs/zh-CN/next/client-libraries-java/index.html
index 7c55184..3a29b73 100644
--- a/content/docs/zh-CN/next/client-libraries-java/index.html
+++ b/content/docs/zh-CN/next/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Java客户端可用于创建Java生产者、消费者、 [消息读取器](#readers),也可以执行[管理任务](/docs/zh-CN/next/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:la [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Java客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Java客户端可用于创建Java生产者、消费者、 [读者](#readers),也可以执行[管理任务](/docs/zh-CN/next/admin-api-overview)。 Java 客户端的当前版本为 **2.2.0**。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:langu [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar Java客户端可用于创建Java生产者、消费者、 <a href="#readers">消息读取器</a>,也可以执行<a href="/docs/zh-CN/next/admin-api-overview">管理任务</a>。 [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Java客户端</h1></header><article><div><span><p>Pulsar的Java客户端可用于创建Java生产者、消费者、 <a href="#readers">读者</a>,也可以执行<a href="/docs/zh-CN/next/admin-api-overview">管理任务</a>。 Ja [...]
 <p>Pulsar客户端的Javadoc分成了两个包:</p>
 <table>
 <thead>
@@ -57,7 +57,7 @@
 </tbody>
 </table>
 <p>本文档仅关注Pulsar主题消息的生产和消费的客户端API. 关于使用 Java 管理客户端的指南, 请参见 <a href="/docs/zh-CN/next/admin-api-overview">Pulsar管理接口</a>。</p>
-<h2><a class="anchor" aria-hidden="true" id="installation"></a><a href="#installation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<h2><a class="anchor" aria-hidden="true" id="安装"></a><a href="#安装" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
 <p>最新版本的Pulsar Java 客户端库可通过 <a href="http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C2.2.0%7Cjar">Maven中央仓库</a> 使用。 要使用最新版本, 请将 <code>pulsar-client</code> 库添加到构建配置中。</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
@@ -106,7 +106,7 @@ dependencies {
 <blockquote>
 <p>除了客户端级别的配置,你还可以使用 <a href="#configuring-producers">生产者</a>和<a href="#configuring-consumers">消费者</a>特定配置,你将在下面的章节中看到。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="producers"></a><a href="#producers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<h2><a class="anchor" aria-hidden="true" id="生产者"></a><a href="#生产者" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>在Pulsar中,生产者写消息到主题中。 一旦你实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
 客户端对象(在<a href="#client-configuration">如上</a>z章节),你可以创建一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Producer">Producer</a>
 生产者用于特定的<a href="/docs/zh-CN/next/reference-terminology#topic">主题</a>。</p>
@@ -143,7 +143,7 @@ client.close();</p>
 </code></pre>
 <p>' %}</p>
 <h3><a class="anchor" aria-hidden="true" id="生产者配置"></a><a href="#生产者配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>如果实例化 <code>生产者</code> 对象时仅指定主题topic名称 (如上面的示例所示), 则生产者将使用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 {@inject javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} 类javadoc文档。 Here's an example:</p>
+<p>如果实例化 <code>生产者</code> 对象时仅指定主题topic名称 (如上面的示例所示), 则生产者将使用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 {@inject javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} 类javadoc文档。 下面是一个示例:</p>
 <pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
     .topic(<span class="hljs-string">"my-topic"</span>)
     .batchingMaxPublishDelay(<span class="hljs-number">10</span>, TimeUnit.MILLISECONDS)
@@ -152,7 +152,7 @@ client.close();</p>
     .create();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消息路由"></a><a href="#消息路由" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/next/cookbooks-partitioned">分区主题</a> 食谱。</p>
+<p>当使用分区主题时,当你使用生产者发布消息时你可以指定路由模式。 有关使用 Java 客户端指定路由模式的更多内容, 请参见 <a href="/docs/zh-CN/next/cookbooks-partitioned">分区主题</a> cookbook。</p>
 <h3><a class="anchor" aria-hidden="true" id="异步发送"></a><a href="#异步发送" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>你可以使用Java客户端<a href="/docs/zh-CN/next/concepts-messaging#send-modes">异步</a>发布消息。 使用异步发送,生产者将消息放入阻塞队列并立即返回。 然后,客户端将在后台将消息发送给broker。 如果队列已满(最大值可配置),则在调用API时,生产者可能会被阻塞或立即失败,具体取决于传递给生产者的参数。</p>
 <p>以下是异步发送操作的示例:</p>
@@ -171,7 +171,7 @@ client.close();</p>
     .send();
 `</pre> 
 <p>对于前一种情况,也可以使用<code>sendAsync()</code>来终止构建器链,并获取future返回值。</p>
-<h2><a class="anchor" aria-hidden="true" id="consumers"></a><a href="#consumers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<h2><a class="anchor" aria-hidden="true" id="消费者"></a><a href="#消费者" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>在Pulsar中,消费者订阅topic主题并处理生产者发布到这些主题的消息。 你可以首先实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
 对象并传递给他一个borker(<a href="#client-configuration">如上所示</a>) URL来实例化一个<a href="/docs/zh-CN/next/reference-terminology#consumer">消费者</a>。</p>
 <p>一旦实例化一个<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
@@ -195,7 +195,7 @@ client.close();</p>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="消费者配置"></a><a href="#消费者配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>如果实例化 <code>消费者</code> 对象, 仅指定主题和订阅名称, 如上面的示例所示, 消费者将采用默认配置。 要使用非默认配置, 你可以设置多种可配置的参数。 有关完整列表, 请参阅 <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
-类javadoc文档。 Here's an example:</p>
+类javadoc文档。 下面是一个示例:</p>
 <p>这是一个示例配置:</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -276,7 +276,7 @@ consumerBuilder
 和 <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Reader">Reader</a>
 /api/ReaderConfiguration}来创建<a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Reader">Reader</a>
 。</p>
-<p>Here's an example:</p>
+<p>下面是一个示例:</p>
 <pre><code class="hljs css language-java">ReaderConfiguration conf = <span class="hljs-keyword">new</span> ReaderConfiguration();
 <span class="hljs-keyword">byte</span>[] msgIdBytes = <span class="hljs-comment">// 一些消息ID 的字节数组</span>
 MessageId id = MessageId.fromByteArray(msgIdBytes);
@@ -293,7 +293,7 @@ Reader reader = pulsarClient.newReader()
 <p>在上面的示例中,实例化一个<code>Reader</code>对象对指定的主题和消息(ID); reader将遍历主题中<code>msgIdBytes</code>(取值方式取决于应用程序) 之后的消息。</p>
 <p>上面的示例代码展示了<code>Reader</code>对象指向特定的消息(ID),但你也可以使用<code>MessageId.earliest</code>来指向topic上最早可用的消息,使用<code>MessageId.latest</code>指向最新的消息。</p>
 <h2><a class="anchor" aria-hidden="true" id="schema"></a><a href="#schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<p>在Pulsar中,所有的消息数据都在字节数组中,<a href="/docs/zh-CN/next/concepts-schema-registry">消息schema</a>允许在构造和处理消息时使用其他类型的数据(从简单类型(如字符串)到更复杂的特定应用程序的类型)。 如果在不指定schema的情况下构造 <a href="#producers">生产者</a>,则生产者只能生成类型为 <code>byte[]</code>的消息。 Here's an example:</p>
+<p>在Pulsar中,所有的消息数据都在字节数组中,<a href="/docs/zh-CN/next/concepts-schema-registry">消息schema</a>允许在构造和处理消息时使用其他类型的数据(从简单类型(如字符串)到更复杂的特定应用程序的类型)。 如果在不指定schema的情况下构造 <a href="#producers">生产者</a>,则生产者只能生成类型为 <code>byte[]</code>的消息。 下面是一个示例:</p>
 <pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
         .topic(topic)
         .create();
@@ -350,7 +350,7 @@ Producer&lt;MyPojo&gt; pojoProducer = client.newProducer(pojoSchema)
     .create();
 </code></pre></li>
 </ul>
-<h2><a class="anchor" aria-hidden="true" id="authentication"></a><a href="#authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<h2><a class="anchor" aria-hidden="true" id="身份验证"></a><a href="#身份验证" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>Pulsar目前支持两种身份验证方案:<a href="/docs/zh-CN/next/security-tls-authentication"> TLS </a>和<a href="/docs/zh-CN/next/security-athenz"> Athenz </a>。 Pulsar Java客户端中两者可以一起使用。</p>
 <h3><a class="anchor" aria-hidden="true" id="tls-authentication"></a><a href="#tls-authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>要使用<a href="/docs/zh-CN/next/security-tls-authentication">TLS</a>,你需要使用<code>setUseTls</code>方法设置TLS为<code>true</code>,将您的Pulsar客户端指向TLS证书路径,并提供证书和密钥文件的路径。</p>
@@ -399,7 +399,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="支持的格式"></a><a href="#支持的格式" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p><code>privateKey</code>参数支持如下三种格式: * <code>file:///path/to/file</code> * <code>file:/path/to/file</code> * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-extending"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries-go"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-extending"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries-go"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#安装">安装</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gradle"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/client-libraries-websocket.html b/content/docs/zh-CN/next/client-libraries-websocket.html
index 620c6f7..6f2d62c 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/zh-CN/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/zh-CN/next/client-libraries-websocket/index.html b/content/docs/zh-CN/next/client-libraries-websocket/index.html
index 620c6f7..6f2d62c 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket/index.html
@@ -277,7 +277,7 @@
 <p>Here's an example Python producer that sends a simple message to a Pulsar <a href="/docs/zh-CN/next/reference-terminology#topic">topic</a>:</p>
 <pre><code class="hljs css language-python"><span class="hljs-keyword">import</span> websocket, base64, json
 
-TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/producer/persistent/public/default/my-topic'</span>
+TOPIC = <span class="hljs-string">'ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic'</span>
 
 ws = websocket.create_connection(TOPIC)
 
diff --git a/content/docs/zh-CN/next/concepts-architecture-overview.html b/content/docs/zh-CN/next/concepts-architecture-overview.html
index da566c1..cc93699 100644
--- a/content/docs/zh-CN/next/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/next/concepts-architecture-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/next/concepts-replication) 数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:t [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/next/concepts-replication) 数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/next/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/next/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/next/concepts-architecture-overview/index.html b/content/docs/zh-CN/next/concepts-architecture-overview/index.html
index da566c1..cc93699 100644
--- a/content/docs/zh-CN/next/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/next/concepts-architecture-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/next/concepts-replication) 数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:t [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>架构概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以[相互复制](/docs/zh-CN/next/concepts-replication) 数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og [...]
               (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)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/next/concepts-replication">相互复制</a> 数据。</p>
-<p>在Pulsar集群</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">架构概述</h1></header><article><div><span><p>在最高层, 一个Pulsar实例由一个或多个Pulsar集群组成。实例中的群集之间可以<a href="/docs/zh-CN/next/concepts-replication">相互复制</a> 数据。</p>
+<p>一个Pulsar集群由下面三部分组成:</p>
 <ul>
 <li>一个或者多个brokers负责处理和负载均衡从生产者源源不断发送出的消息,并将他们发送给消费者。它与配置存储交互来处理相应的任务,它将消息存储在BookKeeper实例中(aka bookies)。它依赖ZooKeeper集群处理特定的任务,等等。</li>
 <li>A BookKeeper cluster consisting of one or more bookies handles <a href="#persistent-storage">persistent storage</a> of messages.</li>
diff --git a/content/docs/zh-CN/next/concepts-clients.html b/content/docs/zh-CN/next/concepts-clients.html
index 471b852..695efad 100644
--- a/content/docs/zh-CN/next/concepts-clients.html
+++ b/content/docs/zh-CN/next/concepts-clients.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/next/client-libraries-java)和[C++](/docs/zh-CN/next/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" conten [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/next/client-libraries-java)和[C++](/docs/zh-CN/next/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" con [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/next/client-libraries-java">Java</a>和<a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>的客 [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/next/client-libraries-java">Java</a>和<a href="/docs/zh-CN/next/client-libraries-cpp">C++</a [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/next/concepts-clients/index.html b/content/docs/zh-CN/next/concepts-clients/index.html
index 471b852..695efad 100644
--- a/content/docs/zh-CN/next/concepts-clients/index.html
+++ b/content/docs/zh-CN/next/concepts-clients/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露[Java](/docs/zh-CN/next/client-libraries-java)和[C++](/docs/zh-CN/next/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" conten [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar客户端 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar向用户暴露原生的[Java](/docs/zh-CN/next/client-libraries-java)和[C++](/docs/zh-CN/next/client-libraries-cpp)的客户端API。 Puslar客户端封装并优化了客户端-服务器的通信协议,并暴露出一套简单直观的API,提供给应用程序使用。"/><meta name="docsearch:version" con [...]
               (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)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露<a href="/docs/zh-CN/next/client-libraries-java">Java</a>和<a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>的客 [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar客户端</h1></header><article><div><span><p>Pulsar向用户暴露原生的<a href="/docs/zh-CN/next/client-libraries-java">Java</a>和<a href="/docs/zh-CN/next/client-libraries-cpp">C++</a [...]
 <p>底层实现上,目前官方版的Pulsar客户端支持对用户透明的连接重连、故障切换、未ack消息的缓冲、消息重传。</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="自定义客户端库"></a><a href="#自定义客户端库" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
@@ -54,7 +54,7 @@
 <h2><a class="anchor" aria-hidden="true" id="客户端使用步骤"></a><a href="#客户端使用步骤" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>当应用程序要创建生产者/消费者时, Pulsar客户端库执行按以下两个步骤的工作:</p>
 <ol>
-<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broke上。</li>
+<li>客户端将尝试通过向服务器(Broker)发送 HTTP 查找请求,来确定主题(Topic)所在的服务器(Broker)。 客户端通过查询Zookeeper中(缓存)的元数据,来确定这条消息的topic在哪个broker上,如果该topic不在任何一个broker上,则把这个topic分配在负载最少的broker上。</li>
 <li>当客户端获取了broker的地址之后,将会创建一个TCP连接(或复用连接池中的连接)并且进行鉴权。 客户端和broker通过该连接交换基于自定义协议的二进制命令。 同时,客户端会向broker发送一条命令用以在broker上创建生产者/消费者,该命令将会在验证授权策略后生效。</li>
 </ol>
 <p>每当 TCP 连接中断时, 客户端将立即重新启动此安装阶段, 并将继续尝试使用指数退避重新建立生产者或使用者, 直到操作成功为止。</p>
diff --git a/content/docs/zh-CN/next/sql-overview.html b/content/docs/zh-CN/next/sql-overview.html
index e808333..c68312c 100644
--- a/content/docs/zh-CN/next/sql-overview.html
+++ b/content/docs/zh-CN/next/sql-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现[schema注册](/docs/zh-CN/next/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version" content= [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar SQL 概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的[schema registry](/docs/zh-CN/next/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:vers [...]
               (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)
@@ -45,13 +45,13 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现<a href="/docs/zh-CN/next/concepts-schema-registry"> [...]
-<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么如此高效和可扩展。</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar SQL 概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的<a href="/docs/zh-CN/next/concepts-schema-regi [...]
+<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么Pulsar可以做到如此高效和可扩展。</p>
 <p>Pulsar SQL的核心是Presto Pulsar连接器,它允许Presto worker从Pulsar查询数据。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-2.png" alt="Pulsar的消费者和读取器接口"></p>
 <h2><a class="anchor" aria-hidden="true" id="性能"></a><a href="#性能" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
-<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar<a href="/docs/zh-CN/next/concepts-architecture-overview#apache-bookkeeper">基于两级segment体系架构</a>。</p>
-<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许并发读取和高读取吞吐量。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点同时读取。</p>
+<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar的<a href="/docs/zh-CN/next/concepts-architecture-overview#apache-bookkeeper">分层分片存储架构</a>。</p>
+<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许高吞吐量的并发读取。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以充分利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点并发读取。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-1.png" alt="Pulsar的消费者和读取器接口"></p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/io-develop"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/sql-getting-started"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#性能">性能</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Co [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/zh-CN/next/sql-overview/index.html b/content/docs/zh-CN/next/sql-overview/index.html
index e808333..c68312c 100644
--- a/content/docs/zh-CN/next/sql-overview/index.html
+++ b/content/docs/zh-CN/next/sql-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现[schema注册](/docs/zh-CN/next/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version" content= [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar SQL 概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的[schema registry](/docs/zh-CN/next/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:vers [...]
               (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)
@@ -45,13 +45,13 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现<a href="/docs/zh-CN/next/concepts-schema-registry"> [...]
-<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么如此高效和可扩展。</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar SQL 概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的<a href="/docs/zh-CN/next/concepts-schema-regi [...]
+<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么Pulsar可以做到如此高效和可扩展。</p>
 <p>Pulsar SQL的核心是Presto Pulsar连接器,它允许Presto worker从Pulsar查询数据。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-2.png" alt="Pulsar的消费者和读取器接口"></p>
 <h2><a class="anchor" aria-hidden="true" id="性能"></a><a href="#性能" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
-<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar<a href="/docs/zh-CN/next/concepts-architecture-overview#apache-bookkeeper">基于两级segment体系架构</a>。</p>
-<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许并发读取和高读取吞吐量。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点同时读取。</p>
+<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar的<a href="/docs/zh-CN/next/concepts-architecture-overview#apache-bookkeeper">分层分片存储架构</a>。</p>
+<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许高吞吐量的并发读取。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以充分利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点并发读取。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-1.png" alt="Pulsar的消费者和读取器接口"></p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/io-develop"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/next/sql-getting-started"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#性能">性能</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Co [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/zh-CN/sql-overview.html b/content/docs/zh-CN/sql-overview.html
index d84bbe4..7dd6dd6 100644
--- a/content/docs/zh-CN/sql-overview.html
+++ b/content/docs/zh-CN/sql-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现[schema注册](/docs/zh-CN/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version" content="2.2. [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar SQL 概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的[schema registry](/docs/zh-CN/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version"  [...]
               (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)
@@ -45,13 +45,13 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现<a href="/docs/zh-CN/concepts-schema-registry">schem [...]
-<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么如此高效和可扩展。</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar SQL 概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的<a href="/docs/zh-CN/concepts-schema-registry" [...]
+<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么Pulsar可以做到如此高效和可扩展。</p>
 <p>Pulsar SQL的核心是Presto Pulsar连接器,它允许Presto worker从Pulsar查询数据。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-2.png" alt="Pulsar的消费者和读取器接口"></p>
 <h2><a class="anchor" aria-hidden="true" id="性能"></a><a href="#性能" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
-<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar<a href="/docs/zh-CN/concepts-architecture-overview#apache-bookkeeper">基于两级segment体系架构</a>。</p>
-<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许并发读取和高读取吞吐量。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点同时读取。</p>
+<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar的<a href="/docs/zh-CN/concepts-architecture-overview#apache-bookkeeper">分层分片存储架构</a>。</p>
+<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许高吞吐量的并发读取。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以充分利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点并发读取。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-1.png" alt="Pulsar的消费者和读取器接口"></p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/io-develop"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/sql-getting-started"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#性能">性能</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright ©  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/zh-CN/sql-overview/index.html b/content/docs/zh-CN/sql-overview/index.html
index d84bbe4..7dd6dd6 100644
--- a/content/docs/zh-CN/sql-overview/index.html
+++ b/content/docs/zh-CN/sql-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现[schema注册](/docs/zh-CN/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version" content="2.2. [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar SQL 概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的[schema registry](/docs/zh-CN/concepts-schema-registry),结构化数据可以存储在Pulsar中,并允许通过SQL语言查询该数据。"/><meta name="docsearch:version"  [...]
               (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)
@@ -45,13 +45,13 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过实现<a href="/docs/zh-CN/concepts-schema-registry">schem [...]
-<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么如此高效和可扩展。</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar SQL 概述</h1></header><article><div><span><p>Pulsar的一个常见用例是存储事件数据流。 通常,事件数据由预定义字段构成。 用户查询已存储在Pulsar主题中的现有数据具有巨大的价值。 通过内嵌的<a href="/docs/zh-CN/concepts-schema-registry" [...]
+<p>通过利用<a href="https://prestodb.io/"> Presto </a>,我们创建了一种方法,使用户能够以非常有效和可扩展的方式查询存储在Pulsar中的结构化数据。 我们将在下面的<a href="#performance">性能</a>部分讨论为什么Pulsar可以做到如此高效和可扩展。</p>
 <p>Pulsar SQL的核心是Presto Pulsar连接器,它允许Presto worker从Pulsar查询数据。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-2.png" alt="Pulsar的消费者和读取器接口"></p>
 <h2><a class="anchor" aria-hidden="true" id="性能"></a><a href="#性能" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
-<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar<a href="/docs/zh-CN/concepts-architecture-overview#apache-bookkeeper">基于两级segment体系架构</a>。</p>
-<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许并发读取和高读取吞吐量。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点同时读取。</p>
+<p>Pulsar查询性能非常高效且可高度扩展的原因是Pulsar的<a href="/docs/zh-CN/concepts-architecture-overview#apache-bookkeeper">分层分片存储架构</a>。</p>
+<p>Pulsar中的主题存储为<a href="https://bookkeeper.apache.org/"> Apache Bookkeeper </a>中的segments。 每个主题segment 也被复制到可配置(默认3个)Bookkeeper节点,允许高吞吐量的并发读取。 在Presto Pulsar连接器中,我们直接从Bookkeeper读取数据,以充分利用Pulsar基于segment 的架构。 因此,Presto worker可以从水平可伸缩的bookkeeper 节点并发读取。</p>
 <p><img src="/docs/assets/pulsar-sql-arch-1.png" alt="Pulsar的消费者和读取器接口"></p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/io-develop"><span class="arrow-prev">← </span><span>上一页</span></a><a class="docs-next button" href="/docs/zh-CN/sql-getting-started"><span>下一页</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav docOnPageNav"><ul class="toc-headings"><li><a href="#性能">性能</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright ©  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/ja/adaptors/PulsarSpark/index.html b/content/ja/adaptors/PulsarSpark/index.html
index 34dd969..51c3895 100644
--- a/content/ja/adaptors/PulsarSpark/index.html
+++ b/content/ja/adaptors/PulsarSpark/index.html
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
+          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
           
@@ -1008,9 +1008,9 @@
           
           
           
-          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
+          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
           
@@ -1224,6 +1224,8 @@
           
           
           
+          
+          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1385,8 +1387,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
diff --git a/content/ja/adaptors/PulsarStorm/index.html b/content/ja/adaptors/PulsarStorm/index.html
index d24d155..8d8ca73 100644
--- a/content/ja/adaptors/PulsarStorm/index.html
+++ b/content/ja/adaptors/PulsarStorm/index.html
@@ -766,9 +766,9 @@
           
           
           
-          <li><a href="/ja/adaptors/PulsarStorm/">Apache StormのためのPulsarアダプタ</a></li>
           
           
+          <li><a href="/ja/adaptors/PulsarStorm/">Apache StormのためのPulsarアダプタ</a></li>
           
           
           
@@ -978,6 +978,8 @@
           
           
           
+          
+          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1139,8 +1141,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
diff --git a/content/ja/admin/AdminInterface/index.html b/content/ja/admin/AdminInterface/index.html
index 5a8fbe4..9a1d3fa 100644
--- a/content/ja/admin/AdminInterface/index.html
+++ b/content/ja/admin/AdminInterface/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -950,9 +950,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1486,6 +1486,8 @@
           
           
           
+          
+          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1647,8 +1649,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
diff --git a/content/ja/admin/Authz/index.html b/content/ja/admin/Authz/index.html
index 910e23f..f31d19b 100644
--- a/content/ja/admin/Authz/index.html
+++ b/content/ja/admin/Authz/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1976,6 +1976,8 @@
           
           
           
+          
+          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -2137,8 +2139,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
@@ -2212,9 +2212,9 @@
           
           
           
-          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
+          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
           
diff --git a/content/ja/admin/ClustersBrokers/index.html b/content/ja/admin/ClustersBrokers/index.html
index ad4bdb4..0c37b98 100644
--- a/content/ja/admin/ClustersBrokers/index.html
+++ b/content/ja/admin/ClustersBrokers/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/admin/PropertiesNamespaces/index.html b/content/ja/admin/PropertiesNamespaces/index.html
index 807551e..050393b 100644
--- a/content/ja/admin/PropertiesNamespaces/index.html
+++ b/content/ja/admin/PropertiesNamespaces/index.html
@@ -1184,9 +1184,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1254,9 +1254,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/advanced/PartitionedTopics/index.html b/content/ja/advanced/PartitionedTopics/index.html
index 4297a12..3ab5407 100644
--- a/content/ja/advanced/PartitionedTopics/index.html
+++ b/content/ja/advanced/PartitionedTopics/index.html
@@ -752,9 +752,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -998,9 +998,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1184,9 +1184,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1254,9 +1254,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1504,9 +1504,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
diff --git a/content/ja/advanced/RetentionExpiry/index.html b/content/ja/advanced/RetentionExpiry/index.html
index fd6137c..eb7d4b0 100644
--- a/content/ja/advanced/RetentionExpiry/index.html
+++ b/content/ja/advanced/RetentionExpiry/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1038,9 +1038,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1530,9 +1530,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/clients/Cpp/index.html b/content/ja/clients/Cpp/index.html
index e6411a1..e51d5eb 100644
--- a/content/ja/clients/Cpp/index.html
+++ b/content/ja/clients/Cpp/index.html
@@ -688,6 +688,8 @@
           
           
           
+          
+          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -891,8 +893,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
@@ -966,9 +966,9 @@
           
           
           
-          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
+          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
           
diff --git a/content/ja/clients/Java/index.html b/content/ja/clients/Java/index.html
index e543182..2a626c7 100644
--- a/content/ja/clients/Java/index.html
+++ b/content/ja/clients/Java/index.html
@@ -688,6 +688,8 @@
           
           
           
+          
+          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -891,8 +893,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
@@ -984,6 +984,8 @@
           
           
           
+          
+          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1145,8 +1147,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
diff --git a/content/ja/clients/Python/index.html b/content/ja/clients/Python/index.html
index ed49516..b937ecf 100644
--- a/content/ja/clients/Python/index.html
+++ b/content/ja/clients/Python/index.html
@@ -688,6 +688,8 @@
           
           
           
+          
+          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -891,8 +893,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
@@ -1022,9 +1022,9 @@
           
           
           
-          <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
+          <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
           
@@ -1044,9 +1044,9 @@
           
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
diff --git a/content/ja/clients/WebSocket/index.html b/content/ja/clients/WebSocket/index.html
index b7b7730..ee0d865 100644
--- a/content/ja/clients/WebSocket/index.html
+++ b/content/ja/clients/WebSocket/index.html
@@ -790,9 +790,9 @@
           
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
@@ -1036,9 +1036,9 @@
           
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
@@ -1262,9 +1262,9 @@
           
           
           
-          <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
+          <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
diff --git a/content/ja/deployment/InstanceSetup/index.html b/content/ja/deployment/InstanceSetup/index.html
index 6499654..d12999b 100644
--- a/content/ja/deployment/InstanceSetup/index.html
+++ b/content/ja/deployment/InstanceSetup/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/deployment/Kubernetes/index.html b/content/ja/deployment/Kubernetes/index.html
index dd736d4..4dd17d9 100644
--- a/content/ja/deployment/Kubernetes/index.html
+++ b/content/ja/deployment/Kubernetes/index.html
@@ -734,9 +734,9 @@
           
           
           
-          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
+          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
           
@@ -980,9 +980,9 @@
           
           
           
-          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
+          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
           
diff --git a/content/ja/getting-started/ConceptsAndArchitecture/index.html b/content/ja/getting-started/ConceptsAndArchitecture/index.html
index 6c57f6a..0efaab5 100644
--- a/content/ja/getting-started/ConceptsAndArchitecture/index.html
+++ b/content/ja/getting-started/ConceptsAndArchitecture/index.html
@@ -704,9 +704,9 @@
           
           
           
-          <li><a href="/ja/getting-started/ConceptsAndArchitecture/">Pulsarのコンセプトとアーキテクチャ</a></li>
           
           
+          <li><a href="/ja/getting-started/ConceptsAndArchitecture/">Pulsarのコンセプトとアーキテクチャ</a></li>
           
           
           
diff --git a/content/ja/getting-started/LocalCluster/index.html b/content/ja/getting-started/LocalCluster/index.html
index f3a8dca..bcf9413 100644
--- a/content/ja/getting-started/LocalCluster/index.html
+++ b/content/ja/getting-started/LocalCluster/index.html
@@ -740,9 +740,9 @@
           
           
           
-          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
+          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
           
@@ -986,9 +986,9 @@
           
           
           
-          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
+          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
           
diff --git a/content/ja/project/BinaryProtocol/index.html b/content/ja/project/BinaryProtocol/index.html
index 642f8fd..f595218 100644
--- a/content/ja/project/BinaryProtocol/index.html
+++ b/content/ja/project/BinaryProtocol/index.html
@@ -684,9 +684,9 @@
           
           
           
-          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
+          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
           
@@ -930,9 +930,9 @@
           
           
           
-          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
+          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
           
diff --git a/content/ja/project/SimulationTools/index.html b/content/ja/project/SimulationTools/index.html
index e5a28bb..b9b8152 100644
--- a/content/ja/project/SimulationTools/index.html
+++ b/content/ja/project/SimulationTools/index.html
@@ -782,9 +782,9 @@
           
           
           
-          <li><a href="/ja/project/SimulationTools/">シミュレーションツール</a></li>
           
           
+          <li><a href="/ja/project/SimulationTools/">シミュレーションツール</a></li>
           
           
           
diff --git a/content/ja/reference/CliTools/index.html b/content/ja/reference/CliTools/index.html
index eb25626..97c8e05 100644
--- a/content/ja/reference/CliTools/index.html
+++ b/content/ja/reference/CliTools/index.html
@@ -692,9 +692,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -950,9 +950,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1196,6 +1196,8 @@
           
           
           
+          
+          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -1399,8 +1401,6 @@
           
           
           
-          
-          
         </ul>
       </div>
     </div>
@@ -1448,9 +1448,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1694,9 +1694,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1940,9 +1940,9 @@
           
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 625a890..e0db652 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -3841,7 +3841,7 @@
           "200" : {
             "description" : "successful operation",
             "schema" : {
-              "$ref" : "#/definitions/TopicStats"
+              "$ref" : "#/definitions/NonPersistentTopicStats"
             }
           },
           "403" : {
@@ -6467,10 +6467,10 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -6793,13 +6793,13 @@
         "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
+        "directMemory" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "overLoaded" : {
-          "type" : "boolean"
-        },
         "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
@@ -6808,18 +6808,18 @@
           "type" : "number",
           "format" : "double"
         },
-        "bandwidthOut" : {
-          "$ref" : "#/definitions/ResourceUsage"
-        },
         "underLoaded" : {
           "type" : "boolean"
         },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "overLoaded" : {
+          "type" : "boolean"
         },
         "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
+        "bandwidthOut" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
         "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -6984,13 +6984,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "connectedSince" : {
+        "producerName" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -7692,13 +7692,13 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "connectedSince" : {
+        "producerName" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {