pulsar-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mme...@apache.org
Subject [pulsar] branch asf-site updated: Updated site at revision b51e435
Date Wed, 03 Apr 2019 09:07:59 GMT
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 5a6184c  Updated site at revision b51e435
5a6184c is described below

commit 5a6184c7fa22c66f6f90259f501a20ae31398e27
Author: jenkins <builds@apache.org>
AuthorDate: Wed Apr 3 09:07:51 2019 +0000

    Updated site at revision b51e435
---
 content/docs/en/next/io-connectors.html            |  1 +
 content/docs/en/next/io-connectors/index.html      |  1 +
 content/docs/en/next/io-rabbitmq.html              | 27 ++++++++++++++++-
 content/docs/en/next/io-rabbitmq/index.html        | 27 ++++++++++++++++-
 content/docs/fr/next/io-connectors.html            |  1 +
 content/docs/fr/next/io-connectors/index.html      |  1 +
 content/docs/fr/next/io-rabbitmq.html              | 26 ++++++++++++++++-
 content/docs/fr/next/io-rabbitmq/index.html        | 26 ++++++++++++++++-
 content/docs/ja/next/io-connectors.html            |  1 +
 content/docs/ja/next/io-connectors/index.html      |  1 +
 content/docs/ja/next/io-rabbitmq.html              | 26 ++++++++++++++++-
 content/docs/ja/next/io-rabbitmq/index.html        | 26 ++++++++++++++++-
 .../2.1.0-incubating/administration-proxy.html     |  2 +-
 .../administration-proxy/index.html                |  2 +-
 .../zh-CN/2.1.0-incubating/deploy-bare-metal.html  |  2 +-
 .../2.1.0-incubating/deploy-bare-metal/index.html  |  2 +-
 .../2.1.0-incubating/functions-guarantees.html     | 16 +++++-----
 .../functions-guarantees/index.html                | 16 +++++-----
 .../2.1.0-incubating/reference-configuration.html  |  2 +-
 .../reference-configuration/index.html             |  2 +-
 .../2.1.1-incubating/administration-proxy.html     |  2 +-
 .../administration-proxy/index.html                |  2 +-
 .../zh-CN/2.1.1-incubating/deploy-bare-metal.html  |  2 +-
 .../2.1.1-incubating/deploy-bare-metal/index.html  |  2 +-
 .../2.1.1-incubating/functions-guarantees.html     | 16 +++++-----
 .../functions-guarantees/index.html                | 16 +++++-----
 .../2.1.1-incubating/reference-configuration.html  |  6 ++--
 .../reference-configuration/index.html             |  6 ++--
 content/docs/zh-CN/2.2.0/administration-proxy.html |  2 +-
 .../zh-CN/2.2.0/administration-proxy/index.html    |  2 +-
 content/docs/zh-CN/2.2.0/deploy-bare-metal.html    |  2 +-
 .../docs/zh-CN/2.2.0/deploy-bare-metal/index.html  |  2 +-
 content/docs/zh-CN/2.2.0/functions-guarantees.html | 16 +++++-----
 .../zh-CN/2.2.0/functions-guarantees/index.html    | 16 +++++-----
 .../docs/zh-CN/2.2.0/reference-configuration.html  |  6 ++--
 .../zh-CN/2.2.0/reference-configuration/index.html |  6 ++--
 content/docs/zh-CN/2.2.1/administration-proxy.html |  2 +-
 .../zh-CN/2.2.1/administration-proxy/index.html    |  2 +-
 content/docs/zh-CN/2.2.1/deploy-bare-metal.html    |  2 +-
 .../docs/zh-CN/2.2.1/deploy-bare-metal/index.html  |  2 +-
 content/docs/zh-CN/2.2.1/functions-guarantees.html | 16 +++++-----
 .../zh-CN/2.2.1/functions-guarantees/index.html    | 16 +++++-----
 .../docs/zh-CN/2.2.1/reference-configuration.html  |  6 ++--
 .../zh-CN/2.2.1/reference-configuration/index.html |  6 ++--
 content/docs/zh-CN/administration-proxy.html       |  8 ++---
 content/docs/zh-CN/administration-proxy/index.html |  8 ++---
 content/docs/zh-CN/deploy-bare-metal.html          |  2 +-
 content/docs/zh-CN/deploy-bare-metal/index.html    |  2 +-
 content/docs/zh-CN/functions-guarantees.html       | 16 +++++-----
 content/docs/zh-CN/functions-guarantees/index.html | 16 +++++-----
 .../zh-CN/next/admin-api-partitioned-topics.html   |  2 +-
 .../next/admin-api-partitioned-topics/index.html   |  2 +-
 content/docs/zh-CN/next/administration-proxy.html  | 14 ++++-----
 .../zh-CN/next/administration-proxy/index.html     | 14 ++++-----
 content/docs/zh-CN/next/deploy-bare-metal.html     |  2 +-
 .../docs/zh-CN/next/deploy-bare-metal/index.html   |  2 +-
 content/docs/zh-CN/next/functions-guarantees.html  | 12 ++++----
 .../zh-CN/next/functions-guarantees/index.html     | 12 ++++----
 content/docs/zh-CN/next/io-connectors.html         |  1 +
 content/docs/zh-CN/next/io-connectors/index.html   |  1 +
 content/docs/zh-CN/next/io-rabbitmq.html           | 26 ++++++++++++++++-
 content/docs/zh-CN/next/io-rabbitmq/index.html     | 26 ++++++++++++++++-
 .../docs/zh-CN/next/reference-configuration.html   |  2 +-
 .../zh-CN/next/reference-configuration/index.html  |  2 +-
 content/docs/zh-CN/reference-configuration.html    |  6 ++--
 .../docs/zh-CN/reference-configuration/index.html  |  6 ++--
 content/swagger/swagger.json                       | 34 +++++++++++-----------
 67 files changed, 391 insertions(+), 189 deletions(-)

diff --git a/content/docs/en/next/io-connectors.html b/content/docs/en/next/io-connectors.html
index 7909976..bd27644 100644
--- a/content/docs/en/next/io-connectors.html
+++ b/content/docs/en/next/io-connectors.html
@@ -81,6 +81,7 @@ Pulsar Functions cluster.</p>
 <li><a href="/docs/en/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/en/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/en/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/en/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/en/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/en/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/en/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/en/next/io-connectors/index.html b/content/docs/en/next/io-connectors/index.html
index 7909976..bd27644 100644
--- a/content/docs/en/next/io-connectors/index.html
+++ b/content/docs/en/next/io-connectors/index.html
@@ -81,6 +81,7 @@ Pulsar Functions cluster.</p>
 <li><a href="/docs/en/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/en/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/en/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/en/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/en/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/en/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/en/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/en/next/io-rabbitmq.html b/content/docs/en/next/io-rabbitmq.html
index ae39266..8d54925 100644
--- a/content/docs/en/next/io-rabbitmq.html
+++ b/content/docs/en/next/io-rabbitmq.html
@@ -45,7 +45,32 @@ messages to Pulsar topics.</p>
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages
+to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/io-rabbitmq/index.html b/content/docs/en/next/io-rabbitmq/index.html
index ae39266..8d54925 100644
--- a/content/docs/en/next/io-rabbitmq/index.html
+++ b/content/docs/en/next/io-rabbitmq/index.html
@@ -45,7 +45,32 @@ messages to Pulsar topics.</p>
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages
+to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/io-connectors.html b/content/docs/fr/next/io-connectors.html
index dad8158..8c3af2e 100644
--- a/content/docs/fr/next/io-connectors.html
+++ b/content/docs/fr/next/io-connectors.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/fr/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/fr/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/fr/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/fr/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/fr/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/fr/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/fr/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/fr/next/io-connectors/index.html b/content/docs/fr/next/io-connectors/index.html
index dad8158..8c3af2e 100644
--- a/content/docs/fr/next/io-connectors/index.html
+++ b/content/docs/fr/next/io-connectors/index.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/fr/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/fr/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/fr/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/fr/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/fr/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/fr/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/fr/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/fr/next/io-rabbitmq.html b/content/docs/fr/next/io-rabbitmq.html
index dfdf686..23f3a98 100644
--- a/content/docs/fr/next/io-rabbitmq.html
+++ b/content/docs/fr/next/io-rabbitmq.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/io-rabbitmq/index.html b/content/docs/fr/next/io-rabbitmq/index.html
index dfdf686..23f3a98 100644
--- a/content/docs/fr/next/io-rabbitmq/index.html
+++ b/content/docs/fr/next/io-rabbitmq/index.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/io-connectors.html b/content/docs/ja/next/io-connectors.html
index 09fba24..a6a9312 100644
--- a/content/docs/ja/next/io-connectors.html
+++ b/content/docs/ja/next/io-connectors.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/ja/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/ja/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/ja/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/ja/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/ja/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/ja/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/ja/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/ja/next/io-connectors/index.html b/content/docs/ja/next/io-connectors/index.html
index 09fba24..a6a9312 100644
--- a/content/docs/ja/next/io-connectors/index.html
+++ b/content/docs/ja/next/io-connectors/index.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/ja/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/ja/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/ja/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/ja/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/ja/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/ja/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/ja/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/ja/next/io-rabbitmq.html b/content/docs/ja/next/io-rabbitmq.html
index b5610a5..e4b3916 100644
--- a/content/docs/ja/next/io-rabbitmq.html
+++ b/content/docs/ja/next/io-rabbitmq.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/io-rabbitmq/index.html b/content/docs/ja/next/io-rabbitmq/index.html
index b5610a5..e4b3916 100644
--- a/content/docs/ja/next/io-rabbitmq/index.html
+++ b/content/docs/ja/next/io-rabbitmq/index.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/administration-proxy.html b/content/docs/zh-CN/2.1.0-incubating/administration-proxy.html
index c291eeb..3b0861e 100644
--- a/content/docs/zh-CN/2.1.0-incubating/administration-proxy.html
+++ b/content/docs/zh-CN/2.1.0-incubating/administration-proxy.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/administration-proxy/index.html b/content/docs/zh-CN/2.1.0-incubating/administration-proxy/index.html
index c291eeb..3b0861e 100644
--- a/content/docs/zh-CN/2.1.0-incubating/administration-proxy/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/administration-proxy/index.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal.html b/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal.html
index f698ddf..f385c28 100644
--- a/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal.html
+++ b/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal.html
@@ -105,7 +105,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal/index.html b/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal/index.html
index f698ddf..f385c28 100644
--- a/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/deploy-bare-metal/index.html
@@ -105,7 +105,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.1.0-incubating/functions-guarantees.html b/content/docs/zh-CN/2.1.0-incubating/functions-guarantees.html
index ad6ca92..bd42a62 100644
--- a/content/docs/zh-CN/2.1.0-incubating/functions-guarantees.html
+++ b/content/docs/zh-CN/2.1.0-incubating/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing g [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 proce [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/functions-guarantees/index.html b/content/docs/zh-CN/2.1.0-incubating/functions-guarantees/index.html
index ad6ca92..bd42a62 100644
--- a/content/docs/zh-CN/2.1.0-incubating/functions-guarantees/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing g [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 proce [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html b/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
index 96c24fe..873496d 100644
--- a/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
+++ b/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
@@ -440,7 +440,7 @@
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html b/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
index 96c24fe..873496d 100644
--- a/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
@@ -440,7 +440,7 @@
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/administration-proxy.html b/content/docs/zh-CN/2.1.1-incubating/administration-proxy.html
index 906eabe..4fc5254 100644
--- a/content/docs/zh-CN/2.1.1-incubating/administration-proxy.html
+++ b/content/docs/zh-CN/2.1.1-incubating/administration-proxy.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/administration-proxy/index.html b/content/docs/zh-CN/2.1.1-incubating/administration-proxy/index.html
index 906eabe..4fc5254 100644
--- a/content/docs/zh-CN/2.1.1-incubating/administration-proxy/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/administration-proxy/index.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal.html b/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal.html
index 3fb7cab..e3e665c 100644
--- a/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal.html
+++ b/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal.html
@@ -105,7 +105,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal/index.html b/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal/index.html
index 3fb7cab..e3e665c 100644
--- a/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/deploy-bare-metal/index.html
@@ -105,7 +105,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.1.1-incubating/functions-guarantees.html b/content/docs/zh-CN/2.1.1-incubating/functions-guarantees.html
index 058fa6f..204ba8f 100644
--- a/content/docs/zh-CN/2.1.1-incubating/functions-guarantees.html
+++ b/content/docs/zh-CN/2.1.1-incubating/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing g [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 proce [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/functions-guarantees/index.html b/content/docs/zh-CN/2.1.1-incubating/functions-guarantees/index.html
index 058fa6f..204ba8f 100644
--- a/content/docs/zh-CN/2.1.1-incubating/functions-guarantees/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing g [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 proce [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html b/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
index e0147db..96e2c41 100644
--- a/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
+++ b/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
@@ -433,14 +433,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -491,7 +491,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href=" [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href=" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html b/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
index e0147db..96e2c41 100644
--- a/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
@@ -433,14 +433,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -491,7 +491,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href=" [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href=" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/administration-proxy.html b/content/docs/zh-CN/2.2.0/administration-proxy.html
index 9c6b120..95f8027 100644
--- a/content/docs/zh-CN/2.2.0/administration-proxy.html
+++ b/content/docs/zh-CN/2.2.0/administration-proxy.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.2.0/administration-proxy/index.html b/content/docs/zh-CN/2.2.0/administration-proxy/index.html
index 9c6b120..95f8027 100644
--- a/content/docs/zh-CN/2.2.0/administration-proxy/index.html
+++ b/content/docs/zh-CN/2.2.0/administration-proxy/index.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.2.0/deploy-bare-metal.html b/content/docs/zh-CN/2.2.0/deploy-bare-metal.html
index d2c7512..326b5b2 100644
--- a/content/docs/zh-CN/2.2.0/deploy-bare-metal.html
+++ b/content/docs/zh-CN/2.2.0/deploy-bare-metal.html
@@ -106,7 +106,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.2.0/deploy-bare-metal/index.html b/content/docs/zh-CN/2.2.0/deploy-bare-metal/index.html
index d2c7512..326b5b2 100644
--- a/content/docs/zh-CN/2.2.0/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/2.2.0/deploy-bare-metal/index.html
@@ -106,7 +106,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.2.0/functions-guarantees.html b/content/docs/zh-CN/2.2.0/functions-guarantees.html
index 8ba0cc2..4ab96ca 100644
--- a/content/docs/zh-CN/2.2.0/functions-guarantees.html
+++ b/content/docs/zh-CN/2.2.0/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.2.0/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.2.0/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.2.0/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.2.0/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/functions-guarantees/index.html b/content/docs/zh-CN/2.2.0/functions-guarantees/index.html
index 8ba0cc2..4ab96ca 100644
--- a/content/docs/zh-CN/2.2.0/functions-guarantees/index.html
+++ b/content/docs/zh-CN/2.2.0/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.2.0/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.2.0/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.2.0/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.2.0/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/reference-configuration.html b/content/docs/zh-CN/2.2.0/reference-configuration.html
index 3662d49..bc2656c 100644
--- a/content/docs/zh-CN/2.2.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.2.0/reference-configuration.html
@@ -433,14 +433,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.2.0/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -491,7 +491,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/reference-configuration/index.html b/content/docs/zh-CN/2.2.0/reference-configuration/index.html
index 3662d49..bc2656c 100644
--- a/content/docs/zh-CN/2.2.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.2.0/reference-configuration/index.html
@@ -433,14 +433,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.2.0/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -491,7 +491,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/administration-proxy.html b/content/docs/zh-CN/2.2.1/administration-proxy.html
index ca59970..137cc10 100644
--- a/content/docs/zh-CN/2.2.1/administration-proxy.html
+++ b/content/docs/zh-CN/2.2.1/administration-proxy.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.2.1/administration-proxy/index.html b/content/docs/zh-CN/2.2.1/administration-proxy/index.html
index ca59970..137cc10 100644
--- a/content/docs/zh-CN/2.2.1/administration-proxy/index.html
+++ b/content/docs/zh-CN/2.2.1/administration-proxy/index.html
@@ -95,7 +95,7 @@ $ bin/pulsar proxy \
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/2.2.1/deploy-bare-metal.html b/content/docs/zh-CN/2.2.1/deploy-bare-metal.html
index 5ac31b5..56eb82c 100644
--- a/content/docs/zh-CN/2.2.1/deploy-bare-metal.html
+++ b/content/docs/zh-CN/2.2.1/deploy-bare-metal.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.2.1/deploy-bare-metal/index.html b/content/docs/zh-CN/2.2.1/deploy-bare-metal/index.html
index 5ac31b5..56eb82c 100644
--- a/content/docs/zh-CN/2.2.1/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/2.2.1/deploy-bare-metal/index.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/2.2.1/functions-guarantees.html b/content/docs/zh-CN/2.2.1/functions-guarantees.html
index c8d2158..021d957 100644
--- a/content/docs/zh-CN/2.2.1/functions-guarantees.html
+++ b/content/docs/zh-CN/2.2.1/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.1"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.1"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.2.1/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.2.1/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.2.1/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.2.1/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/functions-guarantees/index.html b/content/docs/zh-CN/2.2.1/functions-guarantees/index.html
index c8d2158..021d957 100644
--- a/content/docs/zh-CN/2.2.1/functions-guarantees/index.html
+++ b/content/docs/zh-CN/2.2.1/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.1"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.1"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/2.2.1/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/2.2.1/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/2.2.1/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/2.2.1/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/reference-configuration.html b/content/docs/zh-CN/2.2.1/reference-configuration.html
index 238470c..3a0421c 100644
--- a/content/docs/zh-CN/2.2.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.2.1/reference-configuration.html
@@ -481,14 +481,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.2.1/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -543,7 +543,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/reference-configuration/index.html b/content/docs/zh-CN/2.2.1/reference-configuration/index.html
index 238470c..3a0421c 100644
--- a/content/docs/zh-CN/2.2.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.2.1/reference-configuration/index.html
@@ -481,14 +481,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/2.2.1/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -543,7 +543,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shel [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/administration-proxy.html b/content/docs/zh-CN/administration-proxy.html
index 1f4de1c..1e59e3f 100644
--- a/content/docs/zh-CN/administration-proxy.html
+++ b/content/docs/zh-CN/administration-proxy.html
@@ -71,8 +71,8 @@
               }
             });
         </script></nav></div><div class="container mainContainer"><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 proxy</h1></header><article><div><span><p><a href="/docs/zh-CN/concepts-architecture-overview#pulsar-proxy">Pulsar代理</a>是一个可选的网关,你可以在Pulsar集群中的brokers之前运行它们。 建议在客户端和Pulsar broker [...]
-<h2><a class="anchor" aria-hidden="true" id="配置pulsar-代理"></a><a href="#配置pulsar-代理" 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 [...]
-<p>代理一定有办法来找到集群中brokers的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
+<h2><a class="anchor" aria-hidden="true" id="配置-pulsar-proxy"></a><a href="#配置-pulsar-proxy" 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  [...]
+<p>Proxy 有办法来找到集群中 broker 的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
 <h3><a class="anchor" aria-hidden="true" id="选项-1-使用服务发现"></a><a href="#选项-1-使用服务发现" 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 [...]
 <p>Pulsar uses <a href="https://zookeeper.apache.org">ZooKeeper</a> for service discovery. To connect the proxy to ZooKeeper, specify the following in <code>conf/proxy.conf</code>.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">zookeeperServers</span>=<span class="hljs-string">zk-0,zk-1,zk-2</span>
@@ -120,7 +120,7 @@ $ bin/pulsar proxy
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -146,7 +146,7 @@ $ bin/pulsar proxy
 <tr><td>tlsRequireTrustedClientCertOnConnect</td><td>Whether client certificates are required for TLS. Connections are rejected if the client certificate isn’t trusted.</td><td>false</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置pulsar-代理">配置Pulsar 代理</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现">选项 1:使用服务发 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置-pulsar-proxy">配置 Pulsar proxy</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现">选项 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/administration-proxy/index.html b/content/docs/zh-CN/administration-proxy/index.html
index 1f4de1c..1e59e3f 100644
--- a/content/docs/zh-CN/administration-proxy/index.html
+++ b/content/docs/zh-CN/administration-proxy/index.html
@@ -71,8 +71,8 @@
               }
             });
         </script></nav></div><div class="container mainContainer"><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 proxy</h1></header><article><div><span><p><a href="/docs/zh-CN/concepts-architecture-overview#pulsar-proxy">Pulsar代理</a>是一个可选的网关,你可以在Pulsar集群中的brokers之前运行它们。 建议在客户端和Pulsar broker [...]
-<h2><a class="anchor" aria-hidden="true" id="配置pulsar-代理"></a><a href="#配置pulsar-代理" 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 [...]
-<p>代理一定有办法来找到集群中brokers的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
+<h2><a class="anchor" aria-hidden="true" id="配置-pulsar-proxy"></a><a href="#配置-pulsar-proxy" 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  [...]
+<p>Proxy 有办法来找到集群中 broker 的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
 <h3><a class="anchor" aria-hidden="true" id="选项-1-使用服务发现"></a><a href="#选项-1-使用服务发现" 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 [...]
 <p>Pulsar uses <a href="https://zookeeper.apache.org">ZooKeeper</a> for service discovery. To connect the proxy to ZooKeeper, specify the following in <code>conf/proxy.conf</code>.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">zookeeperServers</span>=<span class="hljs-string">zk-0,zk-1,zk-2</span>
@@ -120,7 +120,7 @@ $ bin/pulsar proxy
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -146,7 +146,7 @@ $ bin/pulsar proxy
 <tr><td>tlsRequireTrustedClientCertOnConnect</td><td>Whether client certificates are required for TLS. Connections are rejected if the client certificate isn’t trusted.</td><td>false</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置pulsar-代理">配置Pulsar 代理</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现">选项 1:使用服务发 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置-pulsar-proxy">配置 Pulsar proxy</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现">选项 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/deploy-bare-metal.html b/content/docs/zh-CN/deploy-bare-metal.html
index c04d191..1e44988 100644
--- a/content/docs/zh-CN/deploy-bare-metal.html
+++ b/content/docs/zh-CN/deploy-bare-metal.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/deploy-bare-metal/index.html b/content/docs/zh-CN/deploy-bare-metal/index.html
index c04d191..1e44988 100644
--- a/content/docs/zh-CN/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/deploy-bare-metal/index.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" 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 [...]
 <p>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/functions-guarantees.html b/content/docs/zh-CN/functions-guarantees.html
index 7d87bc7..7092110 100644
--- a/content/docs/zh-CN/functions-guarantees.html
+++ b/content/docs/zh-CN/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.3.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.3.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li><a href="#在 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></li><li><a hr [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/functions-guarantees/index.html b/content/docs/zh-CN/functions-guarantees/index.html
index 7d87bc7..7092110 100644
--- a/content/docs/zh-CN/functions-guarantees/index.html
+++ b/content/docs/zh-CN/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.3.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.3.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明:</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -96,13 +96,13 @@
 <blockquote>
 <p>默认情况下,Pulsar Functions 提供 at-most-once 保证,即发送给函数的每个消息最多会被处理一次。 因此,如果创建函数时不为<code>--processingGuarantees</code>设置标志值,那么该函数将应用 at-most-once 保证。</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="在函数中更新过程保证-processing-guarantees"></a><a href="#在函数中更新过程保证-processing-guarantees" 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. [...]
-<p>函数创建后,可使用<a href="/docs/zh-CN/pulsar-admin#update-1"><code>update</code></a>命令更改应用于函数的过程保证。示例如下:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中更新-processing-guarantees"></a><a href="#在-function-中更新-processing-guarantees" 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 [...]
+<p>创建 function 后,可使用<a href="/docs/zh-CN/pulsar-admin#update-1"><code>update</code></a>命令更改应用于 function 的 processing guarantees。示例如下:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li><a href="#在 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></li><li><a hr [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-partitioned-topics.html b/content/docs/zh-CN/next/admin-api-partitioned-topics.html
index 815e9cf..80facac 100644
--- a/content/docs/zh-CN/next/admin-api-partitioned-topics.html
+++ b/content/docs/zh-CN/next/admin-api-partitioned-topics.html
@@ -207,7 +207,7 @@ persistent://tenant/namespace/topic2
 <p>The following stats are available:</p>
 <table>
 <thead>
-<tr><th>Stat</th><th>说明:</th></tr>
+<tr><th>Stat</th><th>说明</th></tr>
 </thead>
 <tbody>
 <tr><td>msgRateIn</td><td>The sum of all local and replication publishers’ publish rates in messages per second</td></tr>
diff --git a/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html b/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
index 815e9cf..80facac 100644
--- a/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
@@ -207,7 +207,7 @@ persistent://tenant/namespace/topic2
 <p>The following stats are available:</p>
 <table>
 <thead>
-<tr><th>Stat</th><th>说明:</th></tr>
+<tr><th>Stat</th><th>说明</th></tr>
 </thead>
 <tbody>
 <tr><td>msgRateIn</td><td>The sum of all local and replication publishers’ publish rates in messages per second</td></tr>
diff --git a/content/docs/zh-CN/next/administration-proxy.html b/content/docs/zh-CN/next/administration-proxy.html
index e3c6a69..b235447 100644
--- a/content/docs/zh-CN/next/administration-proxy.html
+++ b/content/docs/zh-CN/next/administration-proxy.html
@@ -71,8 +71,8 @@
               }
             });
         </script></nav></div><div class="container mainContainer"><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><a href="/docs/zh-CN/next/concepts-architecture-overview#pulsar-proxy">Pulsar代理</a>是一个可选的网关,你可以在Pulsar集群中的brokers之前运行它们。 建议在客户端和Pulsar broker之间 [...]
-<h2><a class="anchor" aria-hidden="true" id="配置pulsar-代理"></a><a href="#配置pulsar-代理" 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 [...]
-<p>代理一定有办法来找到集群中brokers的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
+<h2><a class="anchor" aria-hidden="true" id="配置-pulsar-proxy"></a><a href="#配置-pulsar-proxy" 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  [...]
+<p>Proxy 有办法来找到集群中 broker 的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
 <h3><a class="anchor" aria-hidden="true" id="选项-1-使用服务发现"></a><a href="#选项-1-使用服务发现" 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 [...]
 <p>Pulsar使用 <a href="https://zookeeper.apache.org">ZooKeeper</a> 进行服务发现。 要将代理连接到ZooKeeper,请在<code>conf/proxy.conf</code>中指定以下内容。</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">zookeeperServers</span>=<span class="hljs-string">zk-0,zk-1,zk-2</span>
@@ -107,8 +107,8 @@ $ bin/pulsar proxy
 <blockquote>
 <p>您可以在群集中运行任意数量的 Pulsar 代理实例。</p>
 </blockquote>
-<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 代理在前台运行。要停止代理, 只需停止它在其中运行的进程。</p>
+<h2><a class="anchor" aria-hidden="true" id="关闭-proxy"></a><a href="#关闭-proxy" 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  [...]
+<p>默认情况下, Pulsar proxy 在前台运行。要关闭 proxy, 只需关闭它在其中运行的进程。</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 [...]
 <p>We recommend running the Pulsar proxy behind some kind of load-distributing frontend, such as an <a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts">HAProxy</a> load balancer.</p>
 <h2><a class="anchor" aria-hidden="true" id="using-pulsar-clients-with-the-proxy"></a><a href="#using-pulsar-clients-with-the-proxy" 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 [...]
@@ -117,10 +117,10 @@ $ bin/pulsar proxy
 <p>The Pulsar proxy can be configured using the <a href="/docs/zh-CN/next/reference-configuration#proxy"><code>proxy.conf</code></a> configuration file. The following parameters are available in that file:</p>
 <table>
 <thead>
-<tr><th>名称</th><th>说明:</th><th>默认值</th></tr>
+<tr><th>名称</th><th>说明</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -146,7 +146,7 @@ $ bin/pulsar proxy
 <tr><td>tlsRequireTrustedClientCertOnConnect</td><td>TLS是否需要客户端证书。如果客户端证书不受信任,连接将被拒绝。</td><td>false</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置pulsar-代理">配置Pulsar 代理</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置-pulsar-proxy">配置 Pulsar proxy</a><ul class="toc-headings"><li><a href="#选项-1- [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/administration-proxy/index.html b/content/docs/zh-CN/next/administration-proxy/index.html
index e3c6a69..b235447 100644
--- a/content/docs/zh-CN/next/administration-proxy/index.html
+++ b/content/docs/zh-CN/next/administration-proxy/index.html
@@ -71,8 +71,8 @@
               }
             });
         </script></nav></div><div class="container mainContainer"><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><a href="/docs/zh-CN/next/concepts-architecture-overview#pulsar-proxy">Pulsar代理</a>是一个可选的网关,你可以在Pulsar集群中的brokers之前运行它们。 建议在客户端和Pulsar broker之间 [...]
-<h2><a class="anchor" aria-hidden="true" id="配置pulsar-代理"></a><a href="#配置pulsar-代理" 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 [...]
-<p>代理一定有办法来找到集群中brokers的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
+<h2><a class="anchor" aria-hidden="true" id="配置-pulsar-proxy"></a><a href="#配置-pulsar-proxy" 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  [...]
+<p>Proxy 有办法来找到集群中 broker 的地址。 你可以通过配置代理来直接连接到服务发现,或者在配置中指定broker URL。</p>
 <h3><a class="anchor" aria-hidden="true" id="选项-1-使用服务发现"></a><a href="#选项-1-使用服务发现" 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 [...]
 <p>Pulsar使用 <a href="https://zookeeper.apache.org">ZooKeeper</a> 进行服务发现。 要将代理连接到ZooKeeper,请在<code>conf/proxy.conf</code>中指定以下内容。</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">zookeeperServers</span>=<span class="hljs-string">zk-0,zk-1,zk-2</span>
@@ -107,8 +107,8 @@ $ bin/pulsar proxy
 <blockquote>
 <p>您可以在群集中运行任意数量的 Pulsar 代理实例。</p>
 </blockquote>
-<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 代理在前台运行。要停止代理, 只需停止它在其中运行的进程。</p>
+<h2><a class="anchor" aria-hidden="true" id="关闭-proxy"></a><a href="#关闭-proxy" 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  [...]
+<p>默认情况下, Pulsar proxy 在前台运行。要关闭 proxy, 只需关闭它在其中运行的进程。</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 [...]
 <p>We recommend running the Pulsar proxy behind some kind of load-distributing frontend, such as an <a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts">HAProxy</a> load balancer.</p>
 <h2><a class="anchor" aria-hidden="true" id="using-pulsar-clients-with-the-proxy"></a><a href="#using-pulsar-clients-with-the-proxy" 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 [...]
@@ -117,10 +117,10 @@ $ bin/pulsar proxy
 <p>The Pulsar proxy can be configured using the <a href="/docs/zh-CN/next/reference-configuration#proxy"><code>proxy.conf</code></a> configuration file. The following parameters are available in that file:</p>
 <table>
 <thead>
-<tr><th>名称</th><th>说明:</th><th>默认值</th></tr>
+<tr><th>名称</th><th>说明</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -146,7 +146,7 @@ $ bin/pulsar proxy
 <tr><td>tlsRequireTrustedClientCertOnConnect</td><td>TLS是否需要客户端证书。如果客户端证书不受信任,连接将被拒绝。</td><td>false</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置pulsar-代理">配置Pulsar 代理</a><ul class="toc-headings"><li><a href="#选项-1-使用服务发现"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/administration-load-distribution"><span class="arrow-prev">← </span><span>Load distribution</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-overview"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#配置-pulsar-proxy">配置 Pulsar proxy</a><ul class="toc-headings"><li><a href="#选项-1- [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/deploy-bare-metal.html b/content/docs/zh-CN/next/deploy-bare-metal.html
index e66d364..c552472 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</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>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/next/deploy-bare-metal/index.html b/content/docs/zh-CN/next/deploy-bare-metal/index.html
index e66d364..c552472 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal/index.html
@@ -109,7 +109,7 @@
 <p>集群中的每台机器都需要安装<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>或更高版本。</p>
 <p>下图展示了基本设置:</p>
 <p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
-<p>该图中,连接 clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与Pulsar集群进行通信,该URL对所有消息处理的 brokers 进行抽象。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</p>
+<p>该图中,Connecting clients 使用单个URL(在本例中是<code>pulsar-cluster.acme.com</code>)与 Pulsar 集群进行通信,该 URL 是 broker 处理消息的一种抽象概念。 Pulsar消息brokers与BookKeeper bookies一起运行;反过来,brokers 和 bookies 都依赖 ZooKeeper。</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>在部署 Pulsar 集群时,我们提供了一些基本建议,在容量规划时应牢记这些建议。</p>
 <h4><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" 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 [...]
diff --git a/content/docs/zh-CN/next/functions-guarantees.html b/content/docs/zh-CN/next/functions-guarantees.html
index 9745ff0..46107cc 100644
--- a/content/docs/zh-CN/next/functions-guarantees.html
+++ b/content/docs/zh-CN/next/functions-guarantees.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/next/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/next/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -102,7 +102,7 @@
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/next/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/next/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/functions-guarantees/index.html b/content/docs/zh-CN/next/functions-guarantees/index.html
index 9745ff0..46107cc 100644
--- a/content/docs/zh-CN/next/functions-guarantees/index.html
+++ b/content/docs/zh-CN/next/functions-guarantees/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Processing guarantees · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/"/><meta property="og:description" content="&lt;p&gt;Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (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),
@@ -70,7 +70,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的信息语义,可以应用于任何函数中:</p>
+        </script></nav></div><div class="container mainContainer"><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">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions 提供三种不同的消息语义,可以应用于任何functions中:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">说明</th></tr>
@@ -81,8 +81,8 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">发送函数的每条消息没精确的处理一次</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="在函数中应用过程保证-processing-guarantees"></a><a href="#在函数中应用过程保证-processing-guarantees" 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. [...]
-<p>创建函数时,您可以为 Pulsar Function 设置过程保证。 例如, <a href="/docs/zh-CN/next/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
+<h2><a class="anchor" aria-hidden="true" id="在-function-中提供-processing-guarantees"></a><a href="#在-function-中提供-processing-guarantees" 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 [...]
+<p>创建 Function 时,您可以为 Pulsar Function 设置 processing guarantees 。 例如, <a href="/docs/zh-CN/next/pulsar-admin#create-1"><code>pulsar-function create</code></a> 这一命令将对函数应用 effectively-once 保证,即发送给函数的每条消息均被精确处理一次:</p>
 <pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processing-guarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -102,7 +102,7 @@
   --processing-guarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/next/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在函数中应用过程保证-processing-guarantees">在函数中应用过程保证 (processing guarantees)</a></li><li>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/functions-deploying"><span class="arrow-prev">← </span><span>Deploying functions</span></a><a class="docs-next button" href="/docs/zh-CN/next/functions-state"><span>State Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#在-function-中提供-processing-guarantees">在 function 中提供 processing guarantees</a></li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/io-connectors.html b/content/docs/zh-CN/next/io-connectors.html
index 601f369..9d3c340 100644
--- a/content/docs/zh-CN/next/io-connectors.html
+++ b/content/docs/zh-CN/next/io-connectors.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/zh-CN/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/zh-CN/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/zh-CN/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/zh-CN/next/io-connectors/index.html b/content/docs/zh-CN/next/io-connectors/index.html
index 601f369..9d3c340 100644
--- a/content/docs/zh-CN/next/io-connectors/index.html
+++ b/content/docs/zh-CN/next/io-connectors/index.html
@@ -78,6 +78,7 @@
 <li><a href="/docs/zh-CN/next/io-kafka#source">Kafka Source Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-kinesis#sink">Kinesis Sink Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-rabbitmq#source">RabbitMQ Source Connector</a></li>
+<li><a href="/docs/zh-CN/next/io-rabbitmq#sink">RabbitMQ Sink Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-twitter">Twitter Firehose Source Connector</a></li>
 <li><a href="/docs/zh-CN/next/io-cdc">CDC Source Connector based on Debezium</a></li>
 <li><a href="/docs/zh-CN/next/io-netty#source">Netty Source Connector</a></li>
diff --git a/content/docs/zh-CN/next/io-rabbitmq.html b/content/docs/zh-CN/next/io-rabbitmq.html
index c4a60fc..e8841a0 100644
--- a/content/docs/zh-CN/next/io-rabbitmq.html
+++ b/content/docs/zh-CN/next/io-rabbitmq.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/io-rabbitmq/index.html b/content/docs/zh-CN/next/io-rabbitmq/index.html
index c4a60fc..e8841a0 100644
--- a/content/docs/zh-CN/next/io-rabbitmq/index.html
+++ b/content/docs/zh-CN/next/io-rabbitmq/index.html
@@ -44,7 +44,31 @@
 <tr><td><code>prefetchGlobal</code></td><td><code>false</code></td><td><code>false</code></td><td>Set true if the settings should be applied to the entire channel rather than each consumer.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of T [...]
+<h2><a class="anchor" aria-hidden="true" id="sink"></a><a href="#sink" 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>The RabbitMQ Sink connector is used to pull messages from Pulsar topics and persist the messages to a RabbitMQ queue.</p>
+<h3><a class="anchor" aria-hidden="true" id="sink-configuration-options"></a><a href="#sink-configuration-options" 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 12H [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
+</thead>
+<tbody>
+<tr><td><code>connectionName</code></td><td><code>true</code></td><td><code>null</code></td><td>The connection name used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>host</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ host to connect to.</td></tr>
+<tr><td><code>port</code></td><td><code>true</code></td><td><code>5672</code></td><td>The RabbitMQ port to connect to.</td></tr>
+<tr><td><code>virtualHost</code></td><td><code>true</code></td><td><code>/</code></td><td>The virtual host used for connecting to RabbitMQ.</td></tr>
+<tr><td><code>username</code></td><td><code>false</code></td><td><code>guest</code></td><td>The username used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>password</code></td><td><code>false</code></td><td><code>guest</code></td><td>The password used to authenticate to RabbitMQ.</td></tr>
+<tr><td><code>queueName</code></td><td><code>true</code></td><td><code>null</code></td><td>The RabbitMQ queue name from which messages should be read from or written to.</td></tr>
+<tr><td><code>requestedChannelMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum channel number. 0 for unlimited.</td></tr>
+<tr><td><code>requestedFrameMax</code></td><td><code>false</code></td><td><code>0</code></td><td>Initially requested maximum frame size, in octets. 0 for unlimited.</td></tr>
+<tr><td><code>connectionTimeout</code></td><td><code>false</code></td><td><code>60000</code></td><td>Connection TCP establishment timeout in milliseconds. 0 for infinite.</td></tr>
+<tr><td><code>handshakeTimeout</code></td><td><code>false</code></td><td><code>10000</code></td><td>The AMQP0-9-1 protocol handshake timeout in milliseconds.</td></tr>
+<tr><td><code>requestedHeartbeat</code></td><td><code>false</code></td><td><code>60</code></td><td>The requested heartbeat timeout in seconds.</td></tr>
+<tr><td><code>exchangeName</code></td><td><code>true</code></td><td><code>null</code></td><td>The exchange to publish the messages on.</td></tr>
+<tr><td><code>routingKey</code></td><td><code>true</code></td><td><code>null</code></td><td>The routing key used for publishing the messages.</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#source">Source</a><ul class="toc-headings"><li><a href="#source-configuration-options">Source Configuration Options</a></li></ul></li><li><a href="#sink">Sink</a><ul class="toc-headings"><li><a href="#sink-configuration-options">Sink Configuration Options</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/reference-configuration.html b/content/docs/zh-CN/next/reference-configuration.html
index 46f6261..5745bf1 100644
--- a/content/docs/zh-CN/next/reference-configuration.html
+++ b/content/docs/zh-CN/next/reference-configuration.html
@@ -492,7 +492,7 @@
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/next/reference-configuration/index.html b/content/docs/zh-CN/next/reference-configuration/index.html
index 46f6261..5745bf1 100644
--- a/content/docs/zh-CN/next/reference-configuration/index.html
+++ b/content/docs/zh-CN/next/reference-configuration/index.html
@@ -492,7 +492,7 @@
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
diff --git a/content/docs/zh-CN/reference-configuration.html b/content/docs/zh-CN/reference-configuration.html
index ceea8ef..a566cfff 100644
--- a/content/docs/zh-CN/reference-configuration.html
+++ b/content/docs/zh-CN/reference-configuration.html
@@ -483,14 +483,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -545,7 +545,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shell">Log [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shell">Log [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/reference-configuration/index.html b/content/docs/zh-CN/reference-configuration/index.html
index ceea8ef..a566cfff 100644
--- a/content/docs/zh-CN/reference-configuration/index.html
+++ b/content/docs/zh-CN/reference-configuration/index.html
@@ -483,14 +483,14 @@
 <tr><td>tlsTrustCertsFilePath</td><td></td><td></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="pulsar-代理"></a><a href="#pulsar-代理" 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="pulsar-proxy"></a><a href="#pulsar-proxy" 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. [...]
 <p>The <a href="/docs/zh-CN/concepts-architecture-overview#pulsar-proxy">Pulsar proxy</a> can be configured in the <code>conf/proxy.conf</code> file.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>说明:</th><th>默认值</th></tr>
 </thead>
 <tbody>
-<tr><td>zookeeperServers</td><td>ZooKeeper仲裁连接字符串(以逗号分隔的列表)</td><td></td></tr>
+<tr><td>zookeeperServers</td><td>ZooKeeper quorum 连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>configurationStoreServers</td><td>配置存储连接字符串(以逗号分隔的列表)</td><td></td></tr>
 <tr><td>zookeeperSessionTimeoutMs</td><td>ZooKeeper会话超时(以毫秒为单位)</td><td>30000</td></tr>
 <tr><td>servicePort</td><td>用于服务器二进制Protobuf请求的端口</td><td>6650</td></tr>
@@ -545,7 +545,7 @@
 <blockquote>
 <p>We strongly recommend consulting the <a href="https://zookeeper.apache.org/doc/current/zookeeperAdmin.html">ZooKeeper Administrator's Guide</a> for a more thorough and comprehensive introduction to ZooKeeper configuration</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shell">Log [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-admin"><span class="arrow-prev">← </span><span>Pulsar Admin CLI</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#bookkeeper">BookKeeper</a></li><li><a href="#broker">Broker</a></li><li><a href="#client">Client</a></li><li><a href="#service-discovery">Service discovery</a></li><li><a href="#log4j">Log4j</a></li><li><a href="#log4j-shell">Log [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 390b4bc..5315c68 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -7096,19 +7096,28 @@
           "type" : "number",
           "format" : "double"
         },
-        "memory" : {
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "directMemory" : {
+        "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "cpu" : {
+        "bandwidthOut" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthIn" : {
+        "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthOut" : {
+        "underLoaded" : {
+          "type" : "boolean"
+        },
+        "overLoaded" : {
+          "type" : "boolean"
+        },
+        "loadReportType" : {
+          "type" : "string"
+        },
+        "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
         "lastUpdate" : {
@@ -7122,15 +7131,6 @@
         "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
-        },
-        "loadReportType" : {
-          "type" : "string"
         }
       }
     },
@@ -8112,11 +8112,11 @@
     "ResourceUnit" : {
       "type" : "object",
       "properties" : {
-        "resourceId" : {
-          "type" : "string"
-        },
         "availableResource" : {
           "$ref" : "#/definitions/ResourceDescription"
+        },
+        "resourceId" : {
+          "type" : "string"
         }
       }
     },


Mime
View raw message