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

[pulsar] branch asf-site updated: Updated site at revision 91dc135

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 5a7a0df  Updated site at revision 91dc135
5a7a0df is described below

commit 5a7a0df285ef391fc9b38f70fd5d32c2cac5b7ff
Author: jenkins <bu...@apache.org>
AuthorDate: Sat Oct 27 14:37:05 2018 +0000

    Updated site at revision 91dc135
---
 content/api/client/index-all.html                  |  2 +
 .../org/apache/pulsar/client/api/MessageId.html    | 24 ++++++++-
 content/docs/en/next/functions-overview.html       |  2 +-
 content/docs/en/next/functions-overview/index.html |  2 +-
 content/docs/fr/next/functions-overview.html       |  2 +-
 content/docs/fr/next/functions-overview/index.html |  2 +-
 content/docs/ja/next/functions-overview.html       |  2 +-
 content/docs/ja/next/functions-overview/index.html |  2 +-
 .../zh-CN/2.1.0-incubating/concepts-messaging.html |  8 +--
 .../2.1.0-incubating/concepts-messaging/index.html |  8 +--
 .../2.1.0-incubating/concepts-multi-tenancy.html   |  6 +--
 .../concepts-multi-tenancy/index.html              |  6 +--
 .../zh-CN/2.1.1-incubating/concepts-messaging.html |  8 +--
 .../2.1.1-incubating/concepts-messaging/index.html |  8 +--
 .../2.1.1-incubating/concepts-multi-tenancy.html   |  6 +--
 .../concepts-multi-tenancy/index.html              |  6 +--
 content/docs/zh-CN/concepts-messaging.html         |  8 +--
 content/docs/zh-CN/concepts-messaging/index.html   |  8 +--
 content/docs/zh-CN/concepts-multi-tenancy.html     |  6 +--
 .../docs/zh-CN/concepts-multi-tenancy/index.html   |  6 +--
 content/docs/zh-CN/next/concepts-messaging.html    |  8 +--
 .../docs/zh-CN/next/concepts-messaging/index.html  |  8 +--
 .../docs/zh-CN/next/concepts-multi-tenancy.html    |  6 +--
 .../zh-CN/next/concepts-multi-tenancy/index.html   |  6 +--
 content/docs/zh-CN/next/functions-overview.html    |  2 +-
 .../docs/zh-CN/next/functions-overview/index.html  |  2 +-
 content/swagger/swagger.json                       | 62 +++++++++++-----------
 27 files changed, 119 insertions(+), 97 deletions(-)

diff --git a/content/api/client/index-all.html b/content/api/client/index-all.html
index 05c7d01..3e658f5 100644
--- a/content/api/client/index-all.html
+++ b/content/api/client/index-all.html
@@ -565,6 +565,8 @@
 <dd>
 <div class="block">De-serialize a message id from a byte array</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageId.html#fromByteArrayWithTopic-byte:A-TopicName-">fromByteArrayWithTopic(byte[], TopicName)</a></span> - Static method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:G">
 <!--   -->
diff --git a/content/api/client/org/apache/pulsar/client/api/MessageId.html b/content/api/client/org/apache/pulsar/client/api/MessageId.html
index 3b6b22e..063867a 100644
--- a/content/api/client/org/apache/pulsar/client/api/MessageId.html
+++ b/content/api/client/org/apache/pulsar/client/api/MessageId.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":17,"i1":6};
+var methods = {"i0":17,"i1":17,"i2":6};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -157,6 +157,11 @@ extends Comparable&lt;<a href="../../../../../org/apache/pulsar/client/api/Messa
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageId.html#fromByteArrayWithTopic-byte:A-TopicName-">fromByteArrayWithTopic</a></span>(byte[]&nbsp;data,
+                      TopicName&nbsp;topicName)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageId.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Serialize the message ID into a byte array</div>
@@ -223,7 +228,7 @@ extends Comparable&lt;<a href="../../../../../org/apache/pulsar/client/api/Messa
 <a name="fromByteArray-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>fromByteArray</h4>
 <pre>static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;fromByteArray(byte[]&nbsp;data)
@@ -239,6 +244,21 @@ extends Comparable&lt;<a href="../../../../../org/apache/pulsar/client/api/Messa
 </dl>
 </li>
 </ul>
+<a name="fromByteArrayWithTopic-byte:A-TopicName-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>fromByteArrayWithTopic</h4>
+<pre>static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;fromByteArrayWithTopic(byte[]&nbsp;data,
+                                        TopicName&nbsp;topicName)
+                                 throws IOException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>IOException</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/en/next/functions-overview.html b/content/docs/en/next/functions-overview.html
index 8948897..7bc3c70 100644
--- a/content/docs/en/next/functions-overview.html
+++ b/content/docs/en/next/functions-overview.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/en/next/functions-api#functions-for-java">Java</a> and <a href="/docs/en/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/en/next/functions-api#functions-for-java">Java</a> and <a href="/docs/en/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/en/next/functions-overview/index.html b/content/docs/en/next/functions-overview/index.html
index 8948897..7bc3c70 100644
--- a/content/docs/en/next/functions-overview/index.html
+++ b/content/docs/en/next/functions-overview/index.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/en/next/functions-api#functions-for-java">Java</a> and <a href="/docs/en/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/en/next/functions-api#functions-for-java">Java</a> and <a href="/docs/en/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/fr/next/functions-overview.html b/content/docs/fr/next/functions-overview.html
index 623bbef..1bc193d 100644
--- a/content/docs/fr/next/functions-overview.html
+++ b/content/docs/fr/next/functions-overview.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/fr/next/functions-api#functions-for-java">Java</a> and <a href="/docs/fr/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/fr/next/functions-api#functions-for-java">Java</a> and <a href="/docs/fr/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/fr/next/functions-overview/index.html b/content/docs/fr/next/functions-overview/index.html
index 623bbef..1bc193d 100644
--- a/content/docs/fr/next/functions-overview/index.html
+++ b/content/docs/fr/next/functions-overview/index.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/fr/next/functions-api#functions-for-java">Java</a> and <a href="/docs/fr/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/fr/next/functions-api#functions-for-java">Java</a> and <a href="/docs/fr/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/ja/next/functions-overview.html b/content/docs/ja/next/functions-overview.html
index 52df88b..15acc8d 100644
--- a/content/docs/ja/next/functions-overview.html
+++ b/content/docs/ja/next/functions-overview.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/ja/next/functions-api#functions-for-java">Java</a> and <a href="/docs/ja/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/ja/next/functions-api#functions-for-java">Java</a> and <a href="/docs/ja/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/ja/next/functions-overview/index.html b/content/docs/ja/next/functions-overview/index.html
index 52df88b..15acc8d 100644
--- a/content/docs/ja/next/functions-overview/index.html
+++ b/content/docs/ja/next/functions-overview/index.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/ja/next/functions-api#functions-for-java">Java</a> and <a href="/docs/ja/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/ja/next/functions-api#functions-for-java">Java</a> and <a href="/docs/ja/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-messaging.html b/content/docs/zh-CN/2.1.0-incubating/concepts-messaging.html
index 70dc03a..dc0e749 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-messaging.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-messaging.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topi [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topic [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下,<a href="#pr [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,<a href="#pro [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.0-incubating/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/2.1.0-incubating/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.0-incubating/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/2.1.0-incubating/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-messaging/index.html b/content/docs/zh-CN/2.1.0-incubating/concepts-messaging/index.html
index 70dc03a..dc0e749 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-messaging/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-messaging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topi [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topic [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下,<a href="#pr [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,<a href="#pro [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.0-incubating/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/2.1.0-incubating/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.0-incubating/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/2.1.0-incubating/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy.html b/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy.html
index fc99ba0..5faa91a 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentication and a [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/2.1.0-incubating/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/2.1.0-incubating/cookbooks-retent [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants c [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/2.1.0-incubating/security-overview">认证和 [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy/index.html b/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy/index.html
index fc99ba0..5faa91a 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-multi-tenancy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentication and a [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/2.1.0-incubating/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/2.1.0-incubating/cookbooks-retent [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants c [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/2.1.0-incubating/security-overview">认证和 [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-messaging.html b/content/docs/zh-CN/2.1.1-incubating/concepts-messaging.html
index c4e8deb..be3958c 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-messaging.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-messaging.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-m [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下, [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,< [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.1-incubating/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/2.1.1-incubating/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.1-incubating/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/2.1.1-incubating/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-messaging/index.html b/content/docs/zh-CN/2.1.1-incubating/concepts-messaging/index.html
index c4e8deb..be3958c 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-messaging/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-messaging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-m [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下, [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,< [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.1-incubating/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/2.1.1-incubating/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/2.1.1-incubating/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/2.1.1-incubating/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy.html b/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy.html
index 3643bbd..c449525 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentica [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/2.1.1-incubating/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/2.1.1-incubating/cookbo [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/2.1.1-incubating/security-ove [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy/index.html b/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy/index.html
index 3643bbd..c449525 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-multi-tenancy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentica [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/2.1.1-incubating/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/2.1.1-incubating/cookbo [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/2.1.1-incubating/security-ove [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/concepts-messaging.html b/content/docs/zh-CN/concepts-messaging.html
index 2db416b..fd7f62d 100644
--- a/content/docs/zh-CN/concepts-messaging.html
+++ b/content/docs/zh-CN/concepts-messaging.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-m [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下, [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,< [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/concepts-messaging/index.html b/content/docs/zh-CN/concepts-messaging/index.html
index 2db416b..fd7f62d 100644
--- a/content/docs/zh-CN/concepts-messaging/index.html
+++ b/content/docs/zh-CN/concepts-messaging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-m [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下, [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,< [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/concepts-multi-tenancy.html b/content/docs/zh-CN/concepts-multi-tenancy.html
index 84fd3e8..54b43a3 100644
--- a/content/docs/zh-CN/concepts-multi-tenancy.html
+++ b/content/docs/zh-CN/concepts-multi-tenancy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentica [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/cookbooks-retention-expiry#time-to-live- [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/security-overview">认证和鉴权</a>s [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/concepts-multi-tenancy/index.html b/content/docs/zh-CN/concepts-multi-tenancy/index.html
index 84fd3e8..54b43a3 100644
--- a/content/docs/zh-CN/concepts-multi-tenancy/index.html
+++ b/content/docs/zh-CN/concepts-multi-tenancy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentica [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Multi Tenancy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/cookbooks-retention-expiry#time-to-live- [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Multi Tenancy</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/security-overview">认证和鉴权</a>s [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/next/concepts-messaging.html b/content/docs/zh-CN/next/concepts-messaging.html
index 239869f..49850f5 100644
--- a/content/docs/zh-CN/next/concepts-messaging.html
+++ b/content/docs/zh-CN/next/concepts-messaging.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topi [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topic [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下,<a href="#pr [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,<a href="#pro [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/next/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/next/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/next/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/next/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/next/concepts-messaging/index.html b/content/docs/zh-CN/next/concepts-messaging/index.html
index 239869f..49850f5 100644
--- a/content/docs/zh-CN/next/concepts-messaging/index.html
+++ b/content/docs/zh-CN/next/concepts-messaging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 这种设计模式下,[producer](#producers)发布消息到[topics](#topics) [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topi [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>消息系统概念 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pular采用了[发布订阅](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 的设计模式,也称作pub-sub。 该设计模式中,[producer](#producers)发布消息到[topic](#topics), [Consumer](#consumers) 可以[订阅](#subscription-modes)这些topic [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,7 +45,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 这种设计模式下,<a href="#pr [...]
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">消息系统概念</h1></header><article><div><span><p>Pular采用了<a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">发布订阅</a> 的设计模式,也称作pub-sub。 该设计模式中,<a href="#pro [...]
 <p>一旦订阅被创建,所有的消息都将被Pulsar<a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">保留</a>,即使consumer已断开连接。 只有在consumer确认消息被成功处理后,保留下来的消息才会被丢弃。</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" 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的基础单元。 消息就是producer发给topic的内容,以及consumer从topic消费的内容(消息处理完成后发送确认)。 消息类似于邮政系统中的信件。</p>
@@ -54,8 +54,8 @@
 <tr><th style="text-align:left">Component</th><th style="text-align:left">作用</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/next/concepts-schema-registry">shcema</a></td></tr>
-<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这可以对<a href="/docs/zh-CN/next/concepts-topic-compaction">topic压缩</a>之类的事情起作用</td></tr>
+<tr><td style="text-align:left">Value / data payload</td><td style="text-align:left">消息携带的数据。所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据<a href="/docs/zh-CN/next/concepts-schema-registry">shcema</a></td></tr>
+<tr><td style="text-align:left">Key</td><td style="text-align:left">消息可以被Key打标签。这对诸如<a href="/docs/zh-CN/next/concepts-topic-compaction">topic压缩</a>之类的事情有作用</td></tr>
 <tr><td style="text-align:left">Properties</td><td style="text-align:left">可选的,用户定义属性 的key/value map</td></tr>
 <tr><td style="text-align:left">Producer名称</td><td style="text-align:left">生产消息的producer名称(producer被自动赋予默认名称,但你也可以自己指定)</td></tr>
 <tr><td style="text-align:left">序列ID</td><td style="text-align:left">Topic中,每个Pulsar消息属于一个有序的序列。消息的序列ID是他在序列中的次序。</td></tr>
diff --git a/content/docs/zh-CN/next/concepts-multi-tenancy.html b/content/docs/zh-CN/next/concepts-multi-tenancy.html
index 86ac9aa..c154730 100644
--- a/content/docs/zh-CN/next/concepts-multi-tenancy.html
+++ b/content/docs/zh-CN/next/concepts-multi-tenancy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentication and a [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/next/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/next/cookbooks-retention-expiry#time-to-live- [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants c [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/next/security-overview">认证和鉴权</a>scheme [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/next/concepts-multi-tenancy/index.html b/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
index 86ac9aa..c154730 100644
--- a/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
+++ b/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants can be spread across clusters and can each have their own [authentication and a [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>多租户 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的[认证和鉴权](/docs/zh-CN/next/security-overview)scheme。 租户也是存储配额的管理单元,, [message TTL](/docs/zh-CN/next/cookbooks-retention-expiry#time-to-live- [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -45,8 +45,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar was created from the ground up as a multi-tenant system. To support multi-tenancy, Pulsar has a concept of tenants. Tenants c [...]
-<p>The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:</p>
+        </script></nav></div><div class="container mainContainer docMainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">多租户</h1></header><article><div><span><p>Pulsar从底层就是作为多租户系统来创建的。 为了支持多租户,Pulsar有着租户的概念, 租户可以被跨集群传播,每个租户都可以使用他们自己的<a href="/docs/zh-CN/next/security-overview">认证和鉴权</a>scheme [...]
+<p>Pulsar多租户的属性在topic的URL上可以明显的被反映到。URL有着这样的结构:</p>
 <pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <p>As you can see, the tenant is the most basic unit of categorization for topics (more fundamental than the namespace and topic name).</p>
diff --git a/content/docs/zh-CN/next/functions-overview.html b/content/docs/zh-CN/next/functions-overview.html
index c047cc3..ad062b8 100644
--- a/content/docs/zh-CN/next/functions-overview.html
+++ b/content/docs/zh-CN/next/functions-overview.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/zh-CN/next/functions-api#functions-for-java">Java</a> and <a href="/docs/zh-CN/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/zh-CN/next/functions-api#functions-for-java">Java</a> and <a href="/docs/zh-CN/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/docs/zh-CN/next/functions-overview/index.html b/content/docs/zh-CN/next/functions-overview/index.html
index c047cc3..ad062b8 100644
--- a/content/docs/zh-CN/next/functions-overview/index.html
+++ b/content/docs/zh-CN/next/functions-overview/index.html
@@ -220,7 +220,7 @@
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
 <p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" 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-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/zh-CN/next/functions-api#functions-for-java">Java</a> and <a href="/docs/zh-CN/next/functions-api#functions-for-python">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/docs/zh-CN/next/functions-api#functions-for-java">Java</a> and <a href="/docs/zh-CN/next/functions-api#functions-for-python">Python</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" 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>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 0cefdb0..036023d 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -6467,10 +6467,10 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -6790,12 +6790,6 @@
           "type" : "number",
           "format" : "double"
         },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
-        },
         "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -6805,26 +6799,32 @@
         "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "directMemory" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
+        "cpu" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "overLoaded" : {
+          "type" : "boolean"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
+        "loadReportType" : {
+          "type" : "string"
+        },
+        "underLoaded" : {
+          "type" : "boolean"
         },
         "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
-        },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
         }
       }
     },
@@ -6984,13 +6984,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "connectedSince" : {
+        "producerName" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -7692,13 +7692,13 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "connectedSince" : {
+        "producerName" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -7757,15 +7757,15 @@
     "ResourceDescription" : {
       "type" : "object",
       "properties" : {
-        "usagePct" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "resourceUsage" : {
           "type" : "object",
           "additionalProperties" : {
             "$ref" : "#/definitions/ResourceUsage"
           }
+        },
+        "usagePct" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -7800,11 +7800,11 @@
     "ResourceUnit" : {
       "type" : "object",
       "properties" : {
-        "resourceId" : {
-          "type" : "string"
-        },
         "availableResource" : {
           "$ref" : "#/definitions/ResourceDescription"
+        },
+        "resourceId" : {
+          "type" : "string"
         }
       }
     },