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/incubator-pulsar.git
The following commit(s) were added to refs/heads/asf-site by this push: new 4b7e0a8 Updated site at revision 616e2a2 4b7e0a8 is described below commit 4b7e0a8ebf9234be31c8b88db715b9af90c458c4 Author: jenkins <bui...@apache.org> AuthorDate: Fri Apr 13 08:36:34 2018 +0000 Updated site at revision 616e2a2 --- content/api/admin/index-all.html | 4 +- .../org/apache/pulsar/client/admin/Functions.html | 26 +- content/api/client/index-all.html | 14 +- .../apache/pulsar/client/api/ClientBuilder.html | 39 +- .../docs/latest/adaptors/KafkaWrapper/index.html | 13 + .../docs/latest/adaptors/PulsarSpark/index.html | 13 + .../docs/latest/adaptors/PulsarStorm/index.html | 11 + content/docs/latest/admin-api/brokers/index.html | 7 + content/docs/latest/admin-api/clusters/index.html | 7 + .../docs/latest/admin-api/namespaces/index.html | 7 + .../admin-api/non-persistent-topics/index.html | 7 + content/docs/latest/admin-api/overview/index.html | 15 + .../latest/admin-api/partitioned-topics/index.html | 7 + .../docs/latest/admin-api/permissions/index.html | 7 + .../latest/admin-api/persistent-topics/index.html | 7 + .../docs/latest/admin-api/properties/index.html | 7 + content/docs/latest/admin/Authz/index.html | 21 + content/docs/latest/admin/Dashboard/index.html | 7 + .../docs/latest/admin/GeoReplication/index.html | 7 + .../latest/admin/ModularLoadManager/index.html | 7 + content/docs/latest/admin/Proxy/index.html | 7 + content/docs/latest/admin/Stats/index.html | 7 + .../latest/admin/ZooKeeperBookKeeper/index.html | 7 + content/docs/latest/clients/Cpp/index.html | 11 + content/docs/latest/clients/Java/index.html | 11 + content/docs/latest/clients/Python/index.html | 11 + content/docs/latest/clients/WebSocket/index.html | 13 + .../docs/latest/cookbooks/Encryption/index.html | 13 + .../latest/cookbooks/PartitionedTopics/index.html | 15 + .../latest/cookbooks/RetentionExpiry/index.html | 15 + .../cookbooks/message-deduplication/index.html | 13 + .../non-persistent-messaging}/index.html | 463 +++++++-------------- .../docs/latest/deployment/Kubernetes/index.html | 11 + .../docs/latest/deployment/Monitoring/index.html | 7 + .../docs/latest/deployment/aws-cluster/index.html | 17 + content/docs/latest/deployment/cluster/index.html | 15 + content/docs/latest/deployment/dcos/index.html | 7 + content/docs/latest/deployment/instance/index.html | 15 + content/docs/latest/functions/api/index.html | 7 + .../docs/latest/functions/deployment/index.html | 7 + .../docs/latest/functions/guarantees/index.html | 7 + content/docs/latest/functions/metrics/index.html | 7 + content/docs/latest/functions/overview/index.html | 7 + .../docs/latest/functions/quickstart/index.html | 7 + .../docs/latest/getting-started/Clients/index.html | 7 + .../ConceptsAndArchitecture/index.html | 142 +++++-- .../latest/getting-started/LocalCluster/index.html | 11 + .../docs/latest/getting-started/docker/index.html | 13 + .../docs/latest/project/BinaryProtocol/index.html | 11 + content/docs/latest/project/Codebase/index.html | 7 + .../docs/latest/project/SimulationTools/index.html | 9 + content/docs/latest/reference/CliTools/index.html | 19 + .../docs/latest/reference/Configuration/index.html | 21 + content/docs/latest/reference/RestApi/index.html | 7 + content/ja/adaptors/PulsarSpark/index.html | 6 + content/ja/adaptors/PulsarStorm/index.html | 4 + content/ja/admin/AdminInterface/index.html | 8 + content/ja/admin/Authz/index.html | 14 + content/ja/admin/ClustersBrokers/index.html | 12 + content/ja/admin/PropertiesNamespaces/index.html | 6 + content/ja/advanced/PartitionedTopics/index.html | 8 + content/ja/advanced/RetentionExpiry/index.html | 8 + content/ja/clients/Cpp/index.html | 4 + content/ja/clients/Java/index.html | 4 + content/ja/clients/Python/index.html | 4 + content/ja/clients/WebSocket/index.html | 6 + content/ja/deployment/InstanceSetup/index.html | 4 + content/ja/deployment/Kubernetes/index.html | 4 + .../ConceptsAndArchitecture/index.html | 2 + content/ja/getting-started/LocalCluster/index.html | 4 + content/ja/project/BinaryProtocol/index.html | 4 + content/ja/project/SimulationTools/index.html | 2 + content/ja/reference/CliTools/index.html | 12 + content/ja/reference/Configuration/index.html | 14 + 74 files changed, 949 insertions(+), 361 deletions(-) diff --git a/content/api/admin/index-all.html b/content/api/admin/index-all.html index 5c06c09..5cb4372 100644 --- a/content/api/admin/index-all.html +++ b/content/api/admin/index-all.html @@ -322,7 +322,7 @@ <dd> <div class="block">Create a domain into cluster</div> </dd> -<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Functions.html#createFunction-FunctionConfig-java.lang.String-">createFunction(FunctionConfig, String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Functions.html" title="interface in org.apache.pulsar.client.admin">Functions</a></dt> +<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Functions.html#createFunction-FunctionDetails-java.lang.String-">createFunction(FunctionDetails, String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Functions.html" title="interface in org.apache.pulsar.client.admin">Functions</a></dt> <dd> <div class="block">Create a new function.</div> </dd> @@ -1969,7 +1969,7 @@ <dd> <div class="block">Update a domain into cluster</div> </dd> -<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Functions.html#updateFunction-FunctionConfig-java.lang.String-">updateFunction(FunctionConfig, String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Functions.html" title="interface in org.apache.pulsar.client.admin">Functions</a></dt> +<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Functions.html#updateFunction-FunctionDetails-java.lang.String-">updateFunction(FunctionDetails, String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Functions.html" title="interface in org.apache.pulsar.client.admin">Functions</a></dt> <dd> <div class="block">Update the configuration for a function.</div> </dd> diff --git a/content/api/admin/org/apache/pulsar/client/admin/Functions.html b/content/api/admin/org/apache/pulsar/client/admin/Functions.html index 6e58247..50e55a3 100644 --- a/content/api/admin/org/apache/pulsar/client/admin/Functions.html +++ b/content/api/admin/org/apache/pulsar/client/admin/Functions.html @@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab"; </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>void</code></td> -<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Functions.html#createFunction-FunctionConfig-java.lang.String-">createFunction</a></span>(FunctionConfig functionConfig, +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Functions.html#createFunction-FunctionDetails-java.lang.String-">createFunction</a></span>(FunctionDetails functionDetails, String fileName)</code> <div class="block">Create a new function.</div> </td> @@ -135,7 +135,7 @@ var activeTableTab = "activeTableTab"; </td> </tr> <tr id="i2" class="altColor"> -<td class="colFirst"><code>FunctionConfig</code></td> +<td class="colFirst"><code>FunctionDetails</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Functions.html#getFunction-java.lang.String-java.lang.String-java.lang.String-">getFunction</a></span>(String tenant, String namespace, String function)</code> @@ -169,7 +169,7 @@ var activeTableTab = "activeTableTab"; </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>void</code></td> -<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Functions.html#updateFunction-FunctionConfig-java.lang.String-">updateFunction</a></span>(FunctionConfig functionConfig, +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Functions.html#updateFunction-FunctionDetails-java.lang.String-">updateFunction</a></span>(FunctionDetails functionDetails, String fileName)</code> <div class="block">Update the configuration for a function.</div> </td> @@ -220,10 +220,10 @@ var activeTableTab = "activeTableTab"; <ul class="blockList"> <li class="blockList"> <h4>getFunction</h4> -<pre>FunctionConfig getFunction(String tenant, - String namespace, - String function) - throws <a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></pre> +<pre>FunctionDetails getFunction(String tenant, + String namespace, + String function) + throws <a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></pre> <div class="block">Get the configuration for the specified function. <p> Response Example: @@ -245,38 +245,38 @@ var activeTableTab = "activeTableTab"; </dl> </li> </ul> -<a name="createFunction-FunctionConfig-java.lang.String-"> +<a name="createFunction-FunctionDetails-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>createFunction</h4> -<pre>void createFunction(FunctionConfig functionConfig, +<pre>void createFunction(FunctionDetails functionDetails, String fileName) throws <a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></pre> <div class="block">Create a new function.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> -<dd><code>functionConfig</code> - the function configuration object</dd> +<dd><code>functionDetails</code> - the function configuration object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></code> - Unexpected error</dd> </dl> </li> </ul> -<a name="updateFunction-FunctionConfig-java.lang.String-"> +<a name="updateFunction-FunctionDetails-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>updateFunction</h4> -<pre>void updateFunction(FunctionConfig functionConfig, +<pre>void updateFunction(FunctionDetails functionDetails, String fileName) throws <a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></pre> <div class="block">Update the configuration for a function. <p></div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> -<dd><code>functionConfig</code> - the function configuration object</dd> +<dd><code>functionDetails</code> - the function configuration object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.NotAuthorizedException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException.NotAuthorizedException</a></code> - You don't have admin permission to create the cluster</dd> <dd><code><a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.NotFoundException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException.NotFoundException</a></code> - Cluster doesn't exist</dd> diff --git a/content/api/client/index-all.html b/content/api/client/index-all.html index 584b440..db2dba9 100644 --- a/content/api/client/index-all.html +++ b/content/api/client/index-all.html @@ -67,7 +67,7 @@ <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> -<div class="contentContainer"><a href="#I:A">A</a> <a href="#I:B">B</a> <a href="#I:C">C</a> <a href="#I:D">D</a> <a href="#I:E">E</a> <a href="#I:F">F</a> <a href="#I:G">G</a> <a href="#I:H">H</a> <a href="#I:I">I</a> <a href="#I:L">L</a> <a href="#I:M">M</a> <a href="#I:N">N</a> <a href="#I:O">O</a> <a href="#I:P">P</a> <a href="#I:R">R</a> <a href="#I:S">S</a> <a href="#I:T">T</a> <a href="#I:U">U</a> [...] +<div class="contentContainer"><a href="#I:A">A</a> <a href="#I:B">B</a> <a href="#I:C">C</a> <a href="#I:D">D</a> <a href="#I:E">E</a> <a href="#I:F">F</a> <a href="#I:G">G</a> <a href="#I:H">H</a> <a href="#I:I">I</a> <a href="#I:K">K</a> <a href="#I:L">L</a> <a href="#I:M">M</a> <a href="#I:N">N</a> <a href="#I:O">O</a> <a href="#I:P">P</a> <a href="#I:R">R</a> <a href="#I:S">S</a> <a href="#I:T">T</a> [...] <!-- --> </a> <h2 class="title">A</h2> @@ -990,6 +990,16 @@ <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> </dd> </dl> +<a name="I:K"> +<!-- --> +</a> +<h2 class="title">K</h2> +<dl> +<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#keepAliveInterval-int-java.util.concurrent.TimeUnit-">keepAliveInterval(int, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt> +<dd> +<div class="block">Set keep alive interval in seconds for each client-broker-connection.</div> +</dd> +</dl> <a name="I:L"> <!-- --> </a> @@ -1949,7 +1959,7 @@ the order they are declared.</div> the order they are declared.</div> </dd> </dl> -<a href="#I:A">A</a> <a href="#I:B">B</a> <a href="#I:C">C</a> <a href="#I:D">D</a> <a href="#I:E">E</a> <a href="#I:F">F</a> <a href="#I:G">G</a> <a href="#I:H">H</a> <a href="#I:I">I</a> <a href="#I:L">L</a> <a href="#I:M">M</a> <a href="#I:N">N</a> <a href="#I:O">O</a> <a href="#I:P">P</a> <a href="#I:R">R</a> <a href="#I:S">S</a> <a href="#I:T">T</a> <a href="#I:U">U</a> <a href="#I:V">V</a>&nbs [...] +<a href="#I:A">A</a> <a href="#I:B">B</a> <a href="#I:C">C</a> <a href="#I:D">D</a> <a href="#I:E">E</a> <a href="#I:F">F</a> <a href="#I:G">G</a> <a href="#I:H">H</a> <a href="#I:I">I</a> <a href="#I:K">K</a> <a href="#I:L">L</a> <a href="#I:M">M</a> <a href="#I:N">N</a> <a href="#I:O">O</a> <a href="#I:P">P</a> <a href="#I:R">R</a> <a href="#I:S">S</a> <a href="#I:T">T</a> <a href="#I:U">U</a>&nbs [...] <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> diff --git a/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html b/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html index e491bb8..58ef073 100644 --- a/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html +++ b/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6}; +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -196,17 +196,24 @@ extends Serializable, Cloneable</pre> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#keepAliveInterval-int-java.util.concurrent.TimeUnit-">keepAliveInterval</a></span>(int keepAliveIntervalSeconds, + TimeUnit unit)</code> +<div class="block">Set keep alive interval in seconds for each client-broker-connection.</div> +</td> +</tr> +<tr id="i12" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#listenerThreads-int-">listenerThreads</a></span>(int numListenerThreads)</code> <div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div> </td> </tr> -<tr id="i12" class="altColor"> +<tr id="i13" class="rowColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#maxConcurrentLookupRequests-int-">maxConcurrentLookupRequests</a></span>(int maxConcurrentLookupRequests)</code> <div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.</div> </td> </tr> -<tr id="i13" class="rowColor"> +<tr id="i14" class="altColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#maxNumberOfRejectedRequestPerConnection-int-">maxNumberOfRejectedRequestPerConnection</a></span>(int maxNumberOfRejectedRequestPerConnection)</code> <div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection @@ -214,20 +221,20 @@ extends Serializable, Cloneable</pre> 50)</i></div> </td> </tr> -<tr id="i14" class="altColor"> +<tr id="i15" class="rowColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#operationTimeout-int-java.util.concurrent.TimeUnit-">operationTimeout</a></span>(int operationTimeout, TimeUnit unit)</code> <div class="block">Set the operation timeout <i>(default: 30 seconds)</i></div> </td> </tr> -<tr id="i15" class="rowColor"> +<tr id="i16" class="altColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#serviceUrl-java.lang.String-">serviceUrl</a></span>(String serviceUrl)</code> <div class="block">Configure the service URL for the Pulsar service.</div> </td> </tr> -<tr id="i16" class="altColor"> +<tr id="i17" class="rowColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#statsInterval-long-java.util.concurrent.TimeUnit-">statsInterval</a></span>(long statsInterval, TimeUnit unit)</code> @@ -235,7 +242,7 @@ extends Serializable, Cloneable</pre> statsIntervalSeconds It should be set to at least 1 second</div> </td> </tr> -<tr id="i17" class="rowColor"> +<tr id="i18" class="altColor"> <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#tlsTrustCertsFilePath-java.lang.String-">tlsTrustCertsFilePath</a></span>(String tlsTrustCertsFilePath)</code> <div class="block">Set the path to the trusted TLS certificate file</div> @@ -597,7 +604,7 @@ extends Serializable, Cloneable</pre> <a name="maxNumberOfRejectedRequestPerConnection-int-"> <!-- --> </a> -<ul class="blockListLast"> +<ul class="blockList"> <li class="blockList"> <h4>maxNumberOfRejectedRequestPerConnection</h4> <pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a> maxNumberOfRejectedRequestPerConnection(int maxNumberOfRejectedRequestPerConnection)</pre> @@ -610,6 +617,22 @@ extends Serializable, Cloneable</pre> </dl> </li> </ul> +<a name="keepAliveInterval-int-java.util.concurrent.TimeUnit-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>keepAliveInterval</h4> +<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a> keepAliveInterval(int keepAliveIntervalSeconds, + TimeUnit unit)</pre> +<div class="block">Set keep alive interval in seconds for each client-broker-connection. <i>(default: 30)</i>.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>keepAliveIntervalSeconds</code> - </dd> +<dd><code>unit</code> - time unit for <code>statsInterval</code></dd> +</dl> +</li> +</ul> </li> </ul> </li> diff --git a/content/docs/latest/adaptors/KafkaWrapper/index.html b/content/docs/latest/adaptors/KafkaWrapper/index.html index 2330fdb..b7d9ca1 100644 --- a/content/docs/latest/adaptors/KafkaWrapper/index.html +++ b/content/docs/latest/adaptors/KafkaWrapper/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> @@ -1434,6 +1445,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/adaptors/PulsarSpark/index.html b/content/docs/latest/adaptors/PulsarSpark/index.html index 05093a7..7495990 100644 --- a/content/docs/latest/adaptors/PulsarSpark/index.html +++ b/content/docs/latest/adaptors/PulsarSpark/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> @@ -1442,6 +1453,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/adaptors/PulsarStorm/index.html b/content/docs/latest/adaptors/PulsarStorm/index.html index bdcde4e..a85ed4f 100644 --- a/content/docs/latest/adaptors/PulsarStorm/index.html +++ b/content/docs/latest/adaptors/PulsarStorm/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1232,6 +1241,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/admin-api/brokers/index.html b/content/docs/latest/admin-api/brokers/index.html index 71a2009..713c234 100644 --- a/content/docs/latest/admin-api/brokers/index.html +++ b/content/docs/latest/admin-api/brokers/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/clusters/index.html b/content/docs/latest/admin-api/clusters/index.html index 1961743..ba02352 100644 --- a/content/docs/latest/admin-api/clusters/index.html +++ b/content/docs/latest/admin-api/clusters/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/namespaces/index.html b/content/docs/latest/admin-api/namespaces/index.html index 681ccf4..cdfb170 100644 --- a/content/docs/latest/admin-api/namespaces/index.html +++ b/content/docs/latest/admin-api/namespaces/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/non-persistent-topics/index.html b/content/docs/latest/admin-api/non-persistent-topics/index.html index 85dec87..19590c6 100644 --- a/content/docs/latest/admin-api/non-persistent-topics/index.html +++ b/content/docs/latest/admin-api/non-persistent-topics/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/overview/index.html b/content/docs/latest/admin-api/overview/index.html index b5f413b..fa573e0 100644 --- a/content/docs/latest/admin-api/overview/index.html +++ b/content/docs/latest/admin-api/overview/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1242,6 +1251,8 @@ + + </ul> </div> </div> @@ -1452,6 +1463,8 @@ + + </ul> </div> </div> @@ -1670,6 +1683,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/admin-api/partitioned-topics/index.html b/content/docs/latest/admin-api/partitioned-topics/index.html index f9a9cba..97f21f6 100644 --- a/content/docs/latest/admin-api/partitioned-topics/index.html +++ b/content/docs/latest/admin-api/partitioned-topics/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/permissions/index.html b/content/docs/latest/admin-api/permissions/index.html index 3cc8889..96c9383 100644 --- a/content/docs/latest/admin-api/permissions/index.html +++ b/content/docs/latest/admin-api/permissions/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/persistent-topics/index.html b/content/docs/latest/admin-api/persistent-topics/index.html index 4e53d33..20e48c2 100644 --- a/content/docs/latest/admin-api/persistent-topics/index.html +++ b/content/docs/latest/admin-api/persistent-topics/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin-api/properties/index.html b/content/docs/latest/admin-api/properties/index.html index 35ce478..a0b1542 100644 --- a/content/docs/latest/admin-api/properties/index.html +++ b/content/docs/latest/admin-api/properties/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/Authz/index.html b/content/docs/latest/admin/Authz/index.html index bd75e25..e9bf2c7 100644 --- a/content/docs/latest/admin/Authz/index.html +++ b/content/docs/latest/admin/Authz/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1240,6 +1249,8 @@ + + </ul> </div> </div> @@ -1450,6 +1461,8 @@ + + </ul> </div> </div> @@ -1660,6 +1673,8 @@ + + </ul> </div> </div> @@ -1870,6 +1885,8 @@ + + </ul> </div> </div> @@ -2088,6 +2105,8 @@ + + </ul> </div> </div> @@ -2300,6 +2319,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/admin/Dashboard/index.html b/content/docs/latest/admin/Dashboard/index.html index d36bbd8..53f1e99 100644 --- a/content/docs/latest/admin/Dashboard/index.html +++ b/content/docs/latest/admin/Dashboard/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/GeoReplication/index.html b/content/docs/latest/admin/GeoReplication/index.html index ec3286b..47ca7a1 100644 --- a/content/docs/latest/admin/GeoReplication/index.html +++ b/content/docs/latest/admin/GeoReplication/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/ModularLoadManager/index.html b/content/docs/latest/admin/ModularLoadManager/index.html index 0fe9a3c..9045682 100644 --- a/content/docs/latest/admin/ModularLoadManager/index.html +++ b/content/docs/latest/admin/ModularLoadManager/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/Proxy/index.html b/content/docs/latest/admin/Proxy/index.html index 29b0a08..e4cfd0d 100644 --- a/content/docs/latest/admin/Proxy/index.html +++ b/content/docs/latest/admin/Proxy/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/Stats/index.html b/content/docs/latest/admin/Stats/index.html index 4815d08..d8c50fa 100644 --- a/content/docs/latest/admin/Stats/index.html +++ b/content/docs/latest/admin/Stats/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/admin/ZooKeeperBookKeeper/index.html b/content/docs/latest/admin/ZooKeeperBookKeeper/index.html index 6293726..a99d503 100644 --- a/content/docs/latest/admin/ZooKeeperBookKeeper/index.html +++ b/content/docs/latest/admin/ZooKeeperBookKeeper/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/clients/Cpp/index.html b/content/docs/latest/clients/Cpp/index.html index f1bab3d..9406507 100644 --- a/content/docs/latest/clients/Cpp/index.html +++ b/content/docs/latest/clients/Cpp/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1020,6 +1027,8 @@ + + </ul> </div> </div> @@ -1232,6 +1241,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/clients/Java/index.html b/content/docs/latest/clients/Java/index.html index edb9c89..9cbbb0e 100644 --- a/content/docs/latest/clients/Java/index.html +++ b/content/docs/latest/clients/Java/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1020,6 +1027,8 @@ + + </ul> </div> </div> @@ -1238,6 +1247,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/clients/Python/index.html b/content/docs/latest/clients/Python/index.html index 1692d73..abc180b 100644 --- a/content/docs/latest/clients/Python/index.html +++ b/content/docs/latest/clients/Python/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1020,6 +1027,8 @@ + + </ul> </div> </div> @@ -1232,6 +1241,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/clients/WebSocket/index.html b/content/docs/latest/clients/WebSocket/index.html index f5aff55..0e57352 100644 --- a/content/docs/latest/clients/WebSocket/index.html +++ b/content/docs/latest/clients/WebSocket/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> @@ -1436,6 +1447,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/cookbooks/Encryption/index.html b/content/docs/latest/cookbooks/Encryption/index.html index 7ea643c..c729abf 100644 --- a/content/docs/latest/cookbooks/Encryption/index.html +++ b/content/docs/latest/cookbooks/Encryption/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> @@ -1436,6 +1447,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/cookbooks/PartitionedTopics/index.html b/content/docs/latest/cookbooks/PartitionedTopics/index.html index 39301b5..b191823 100644 --- a/content/docs/latest/cookbooks/PartitionedTopics/index.html +++ b/content/docs/latest/cookbooks/PartitionedTopics/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> @@ -1450,6 +1461,8 @@ + + </ul> </div> </div> @@ -1662,6 +1675,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/cookbooks/RetentionExpiry/index.html b/content/docs/latest/cookbooks/RetentionExpiry/index.html index 37cc214..b51336e 100644 --- a/content/docs/latest/cookbooks/RetentionExpiry/index.html +++ b/content/docs/latest/cookbooks/RetentionExpiry/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1240,6 +1249,8 @@ + + </ul> </div> </div> @@ -1450,6 +1461,8 @@ + + </ul> </div> </div> @@ -1660,6 +1673,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/cookbooks/message-deduplication/index.html b/content/docs/latest/cookbooks/message-deduplication/index.html index d72df25..5f44c6a 100644 --- a/content/docs/latest/cookbooks/message-deduplication/index.html +++ b/content/docs/latest/cookbooks/message-deduplication/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1242,6 +1251,8 @@ + + </ul> </div> </div> @@ -1452,6 +1463,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/admin/Stats/index.html b/content/docs/latest/cookbooks/non-persistent-messaging/index.html similarity index 73% copy from content/docs/latest/admin/Stats/index.html copy to content/docs/latest/cookbooks/non-persistent-messaging/index.html index 4815d08..df02b90 100644 --- a/content/docs/latest/admin/Stats/index.html +++ b/content/docs/latest/cookbooks/non-persistent-messaging/index.html @@ -43,7 +43,7 @@ under the License. --> -<title>Pulsar stats</title> +<title>Non-persistent messaging</title> <meta charset="utf-8"> @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -804,7 +811,7 @@ <article class="col-xs-12 col-sm-12 col-md-12 col-lg-7"> <section class="docs-header"> <h1 class="docs-title"> - Pulsar stats + Non-persistent messaging </h1> @@ -890,7 +897,15 @@ --> -<h2 id="partitioned-topics">Partitioned topics</h2> +<p><strong>Non-persistent topics</strong> are Pulsar <span class="popover-term" tabindex="0" title="What is a topic?" data-placement="top" data-content="A named channel used to pass messages published by producers to consumers who process those messages." data-toggle="popover" data-trigger="focus">topics</span> in which message data is <em>never</em> <a href="../../getting-started/ConceptsAndArchitecture#persistent-storage">persistently stored</a> and kept only in memory. This cookbook p [...] + +<ul> + <li>A basic <a href="#overview">conceptual overview</a> of non-persistent topics</li> + <li>Information about <a href="#configuration">configurable parameters</a> related to non-persistent topics</li> + <li>A guide to the <a href="#cli">CLI interface</a> for managing non-persistent topics</li> +</ul> + +<h2 id="overview">Overview of non-persistent topics</h2> <!-- @@ -913,169 +928,11 @@ --> -<table class="stats"> - <thead> - <tr> - <th>Stat</th> - <th>Description</th> - </tr> - </thead> - <tbody> - - <tr> - <td>msgRateIn</td> - <td>The sum of all local and replication publishers’ publish rates in messages per second -</td> - </tr> - - <tr> - <td>msgThroughputIn</td> - <td>Same as <code class="highlighter-rouge">msgRateIn</code> but in bytes per second instead of messages per second -</td> - </tr> - - <tr> - <td>msgRateOut</td> - <td>The sum of all local and replication consumers’ dispatch rates in messages per second -</td> - </tr> - - <tr> - <td>msgThroughputOut</td> - <td>Same as <code class="highlighter-rouge">msgRateOut</code> but in bytes per second instead of messages per second -</td> - </tr> - - <tr> - <td>averageMsgSize</td> - <td>Average message size, in bytes, from this publisher within the last interval -</td> - </tr> - - <tr> - <td>storageSize</td> - <td>The sum of the ledgers’ storage size for this topic -</td> - </tr> - - <tr> - <td>publishers</td> - <td>The list of all local publishers into the topic. There can be anywhere from zero to thousands. -</td> - </tr> - - <tr> - <td>producerId</td> - <td>Internal identifier for this producer on this topic -</td> - </tr> - - <tr> - <td>producerName</td> - <td>Internal identifier for this producer, generated by the client library -</td> - </tr> - - <tr> - <td>address</td> - <td>IP address and source port for the connection of this producer -</td> - </tr> - - <tr> - <td>connectedSince</td> - <td>Timestamp this producer was created or last reconnected -</td> - </tr> - - <tr> - <td>subscriptions</td> - <td>The list of all local subscriptions to the topic -</td> - </tr> - - <tr> - <td>my-subscription</td> - <td>The name of this subscription (client defined) -</td> - </tr> - - <tr> - <td>msgBacklog</td> - <td>The count of messages in backlog for this subscription -</td> - </tr> - - <tr> - <td>type</td> - <td>This subscription type -</td> - </tr> - - <tr> - <td>msgRateExpired</td> - <td>The rate at which messages were discarded instead of dispatched from this subscription due to TTL -</td> - </tr> - - <tr> - <td>consumers</td> - <td>The list of connected consumers for this subscription -</td> - </tr> - - <tr> - <td>consumerName</td> - <td>Internal identifier for this consumer, generated by the client library -</td> - </tr> - - <tr> - <td>availablePermits</td> - <td>The number of messages this consumer has space for in the client library’s listen queue. A value of 0 means the client library’s queue is full and receive() isn’t being called. A nonzero value means this consumer is ready to be dispatched messages. -</td> - </tr> - - <tr> - <td>replication</td> - <td>This section gives the stats for cross-colo replication of this topic -</td> - </tr> - - <tr> - <td>replicationBacklog</td> - <td>The outbound replication backlog in messages -</td> - </tr> - - <tr> - <td>connected</td> - <td>Whether the outbound replicator is connected -</td> - </tr> - - <tr> - <td>replicationDelayInSeconds</td> - <td>How long the oldest message has been waiting to be sent through the connection, if connected is true -</td> - </tr> - - <tr> - <td>inboundConnection</td> - <td>The IP and port of the broker in the remote cluster’s publisher connection to this broker -</td> - </tr> - - <tr> - <td>inboundConnectedSince</td> - <td>The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute. -</td> - </tr> - - </tbody> -</table> +<p>By default, Pulsar persistently stores <em>all</em> <span class="popover-term" tabindex="0" title="What is an unacknowledged message?" data-placement="top" data-content="A message that has been delivered to a consumer for processing but not yet confirmed as processed by the consumer." data-toggle="popover" data-trigger="focus">unacknowledged</span> messages on multiple <a href="#persistent-storage">BookKeeper</a> <span class="popover-term" tabindex="0" title="What is a bookie?" data-p [...] + +<p>Pulsar also, however, supports <strong>non-persistent topics</strong>, which are topics on which messages are <em>never</em> persisted to disk and live only in memory. When using non-persistent delivery, killing a Pulsar <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher [...] -<h2 id="topics">Topics</h2> +<p>Non-persistent topics have names of this form (note the <code class="highlighter-rouge">non-persistent</code> in the name):</p> <!-- @@ -1097,151 +954,145 @@ under the License. --> +<section class="topic"> + non-persistent://<span class="property">property</span>/<span class="cluster">cluster</span>/<span class="namespace">namespace</span>/<span class="t">topic</span> +</section> -<table class="stats"> - <thead> - <tr> - <th>Stat</th> - <th>Description</th> - </tr> - </thead> - <tbody> - - <tr> - <td>entriesAddedCounter</td> - <td>Messages published since this broker loaded this topic -</td> - </tr> - - <tr> - <td>numberOfEntries</td> - <td>Total number of messages being tracked -</td> - </tr> - - <tr> - <td>totalSize</td> - <td>Total storage size in bytes of all messages -</td> - </tr> - - <tr> - <td>currentLedgerEntries</td> - <td>Count of messages written to the ledger currently open for writing -</td> - </tr> - - <tr> - <td>currentLedgerSize</td> - <td>Size in bytes of messages written to ledger currently open for writing -</td> - </tr> - - <tr> - <td>lastLedgerCreatedTimestamp</td> - <td>Time when last ledger was created -</td> - </tr> - - <tr> - <td>lastLedgerCreationFailureTimestamp</td> - <td>time when last ledger was failed -</td> - </tr> - - <tr> - <td>waitingCursorsCount</td> - <td>How many cursors are caught up and waiting for a new message to be published -</td> - </tr> - - <tr> - <td>pendingAddEntriesCount</td> - <td>How many messages have (asynchronous) write requests we are waiting on completion -</td> - </tr> - - <tr> - <td>lastConfirmedEntry</td> - <td>The ledgerid:entryid of the last message successfully written. If the entryid is -1, then the ledger has been opened or is currently being opened but has no entries written yet. -</td> - </tr> - - <tr> - <td>state</td> - <td>The state of the cursor ledger. Open means we have a cursor ledger for saving updates of the markDeletePosition. -</td> - </tr> - - <tr> - <td>ledgers</td> - <td>The ordered list of all ledgers for this topic holding its messages -</td> - </tr> - - <tr> - <td>cursors</td> - <td>The list of all cursors on this topic. There will be one for every subscription you saw in the topic stats. -</td> - </tr> - - <tr> - <td>markDeletePosition</td> - <td>The ack position: the last message the subscriber acknowledged receiving -</td> - </tr> - - <tr> - <td>readPosition</td> - <td>The latest position of subscriber for reading message -</td> - </tr> - - <tr> - <td>waitingReadOp</td> - <td>This is true when the subscription has read the latest message published to the topic and is waiting on new messages to be published. -</td> - </tr> - - <tr> - <td>pendingReadOps</td> - <td>The counter for how many outstanding read requests to the BookKeepers we have in progress -</td> - </tr> - - <tr> - <td>messagesConsumedCounter</td> - <td>Number of messages this cursor has acked since this broker loaded this topic -</td> - </tr> - - <tr> - <td>cursorLedger</td> - <td>The ledger being used to persistently store the current markDeletePosition -</td> - </tr> - - <tr> - <td>cursorLedgerLastEntry</td> - <td>The last entryid used to persistently store the current markDeletePosition -</td> - </tr> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<div class="admonition"> + <div class="info"> - <tr> - <td>individuallyDeletedMessages</td> - <td>If Acks are being done out of order, shows the ranges of messages Acked between the markDeletePosition and the read-position -</td> - </tr> + <p>For more high-level information about non-persistent topics, see the <a href="../../getting-started/ConceptsAndArchitecture#non-persistent-topics">Concepts and Architecture</a> documentation.</p> + + </div> +</div> + +<h2 id="using">Using non-persistent topics</h2> + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<div class="admonition"> + <div class="warning"> - <tr> - <td>lastLedgerSwitchTimestamp</td> - <td>The last time the cursor ledger was rolled over -</td> - </tr> + <p>In order to use non-persistent topics, they must be <a href="#enabling">enabled</a> in your Pulsar broker configuration.</p> + + </div> +</div> + +<p>In order to use non-persistent topics, you only need to differentiate them by name when interacting with them. This <a href="../../CliTools#pulsar-client-produce"><code class="highlighter-rouge">pulsar-client produce</code></a> command, for example, would produce one message on a non-persistent topic in a <span class="popover-term" tabindex="0" title="What is a standalone Pulsar broker?" data-placement="top" data-content="A lightweight Pulsar broker in which all components run in a si [...] + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bin/pulsar-client produce non-persistent://sample/standalone/ns1/example-np-topic <span class="se">\</span> + <span class="nt">--num-produce</span> 1 <span class="se">\</span> + <span class="nt">--messages</span> <span class="s2">"This message will be stored only in memory"</span> +</code></pre></div></div> + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<div class="admonition"> + <div class="success"> - </tbody> -</table> + <p>For a more thorough guide to non-persistent topics from an administrative perspective, see the <a href="../../admin-api/non-persistent-topics">Non-persistent topics</a> guide.</p> + + </div> +</div> + +<h2 id="enabling">Enabling non-persistent topics</h2> + +<p>In order to enable non-persistent topics in a Pulsar <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher that handles all message transers. Pulsar clusters typically consist of multiple brokers." data-toggle="popover" data-trigger="focus">broker</span>, the <a href="../../ [...] + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<div class="admonition"> + <div class="info"> + <span class="admonition-title"><p>Configuration for standalone mode</p> +</span> + <p>If you’re running Pulsar in standalone mode, the same configurable parameters are available but in the <a href="../../reference/Configuration#standalone"><code class="highlighter-rouge">standalone.conf</code></a> configuration file.</p> + + </div> +</div> + +<p>If you’d like to enable <em>only</em> non-persistent topics in a broker, you can set the <a href="../../reference/Configuration#broker-enablePersistentTopics"><code class="highlighter-rouge">enablePersistentTopics</code></a> parameter to <code class="highlighter-rouge">false</code> and the <code class="highlighter-rouge">enableNonPersistentTopics</code> parameter to <code class="highlighter-rouge">true</code>.</p> + +<h2 id="cli">Managing non-persistent topics via the CLI</h2> + +<p>Non-persistent topics can be managed using the <a href="../../reference/CliTools#pulsar-admin-non-persistent"><code class="highlighter-rouge">pulsar-admin non-persistent</code></a> command-line interface. With that interface you can perform actions like <a href="../../reference/CliTools#pulsar-admin-non-persistent-create-partitioned-topic">create a partitioned non-persistent topic</a>, get <a href="../../reference/CliTools#pulsar-admin-non-persistent-stats">stats</a> for a non-persist [...] + +<h2 id="clients">Non-persistent topics and Pulsar clients</h2> +<p>You shouldn’t need to make any changes to your Pulsar clients to use non-persistent messaging beyond making sure that you use proper <a href="#using">topic names</a> with <code class="highlighter-rouge">non-persistent</code> as the topic type.</p> </section> </article> @@ -1249,7 +1100,7 @@ <nav class="toc-bar hidden-md-down col-lg-2"> <div id="toc"> - <h4>Pulsar stats</h4> + <h4>Non-persistent messaging</h4> </div> </nav> diff --git a/content/docs/latest/deployment/Kubernetes/index.html b/content/docs/latest/deployment/Kubernetes/index.html index 00530da..ddf1729 100644 --- a/content/docs/latest/deployment/Kubernetes/index.html +++ b/content/docs/latest/deployment/Kubernetes/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/deployment/Monitoring/index.html b/content/docs/latest/deployment/Monitoring/index.html index cdb9e2b..d314cf0 100644 --- a/content/docs/latest/deployment/Monitoring/index.html +++ b/content/docs/latest/deployment/Monitoring/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/deployment/aws-cluster/index.html b/content/docs/latest/deployment/aws-cluster/index.html index c349c44..b2057d1 100644 --- a/content/docs/latest/deployment/aws-cluster/index.html +++ b/content/docs/latest/deployment/aws-cluster/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1244,6 +1253,8 @@ + + </ul> </div> </div> @@ -1456,6 +1467,8 @@ + + </ul> </div> </div> @@ -1666,6 +1679,8 @@ + + </ul> </div> </div> @@ -1876,6 +1891,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/deployment/cluster/index.html b/content/docs/latest/deployment/cluster/index.html index ef8e744..4a772db 100644 --- a/content/docs/latest/deployment/cluster/index.html +++ b/content/docs/latest/deployment/cluster/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1244,6 +1253,8 @@ + + </ul> </div> </div> @@ -1456,6 +1467,8 @@ + + </ul> </div> </div> @@ -1668,6 +1681,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/deployment/dcos/index.html b/content/docs/latest/deployment/dcos/index.html index 95719c2..2e8bac8 100644 --- a/content/docs/latest/deployment/dcos/index.html +++ b/content/docs/latest/deployment/dcos/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/deployment/instance/index.html b/content/docs/latest/deployment/instance/index.html index 9d474dd..a7d5db4 100644 --- a/content/docs/latest/deployment/instance/index.html +++ b/content/docs/latest/deployment/instance/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1244,6 +1253,8 @@ + + </ul> </div> </div> @@ -1454,6 +1465,8 @@ + + </ul> </div> </div> @@ -1666,6 +1679,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/functions/api/index.html b/content/docs/latest/functions/api/index.html index 8393761..9acdb9b 100644 --- a/content/docs/latest/functions/api/index.html +++ b/content/docs/latest/functions/api/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/functions/deployment/index.html b/content/docs/latest/functions/deployment/index.html index fbf5430..daa160b 100644 --- a/content/docs/latest/functions/deployment/index.html +++ b/content/docs/latest/functions/deployment/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/functions/guarantees/index.html b/content/docs/latest/functions/guarantees/index.html index a2e61e9..36a57d8 100644 --- a/content/docs/latest/functions/guarantees/index.html +++ b/content/docs/latest/functions/guarantees/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/functions/metrics/index.html b/content/docs/latest/functions/metrics/index.html index fa5040d..3603313 100644 --- a/content/docs/latest/functions/metrics/index.html +++ b/content/docs/latest/functions/metrics/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/functions/overview/index.html b/content/docs/latest/functions/overview/index.html index ca685c0..dcdc8b6 100644 --- a/content/docs/latest/functions/overview/index.html +++ b/content/docs/latest/functions/overview/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/functions/quickstart/index.html b/content/docs/latest/functions/quickstart/index.html index 38345da..a5ed8f2 100644 --- a/content/docs/latest/functions/quickstart/index.html +++ b/content/docs/latest/functions/quickstart/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/getting-started/Clients/index.html b/content/docs/latest/getting-started/Clients/index.html index ed17867..9d9b84a 100644 --- a/content/docs/latest/getting-started/Clients/index.html +++ b/content/docs/latest/getting-started/Clients/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html index 281bcbc..eb3a842 100644 --- a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html +++ b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1226,6 +1235,8 @@ + + </ul> </div> </div> @@ -1519,7 +1530,7 @@ <div class="success"> <span class="admonition-title"><p>No need to explicitly create new topics</p> </span> - <p>Application does not explicitly create the topic but attempting to write or receive message on a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespace">namespace</a>.</p> + <p>You don’t need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespace">namespace</a> provided in the <a href="#topics">topic name</a>.</p> </div> </div> @@ -1784,6 +1795,36 @@ Application can create any number of <a href="#topics">topics</a> under the name --> +<p>By default, Pulsar persistently stores <em>all</em> <span class="popover-term" tabindex="0" title="What is an unacknowledged message?" data-placement="top" data-content="A message that has been delivered to a consumer for processing but not yet confirmed as processed by the consumer." data-toggle="popover" data-trigger="focus">unacknowledged</span> messages on multiple <a href="#persistent-storage">BookKeeper</a> <span class="popover-term" tabindex="0" title="What is a bookie?" data-p [...] + +<p>Pulsar also, however, supports <strong>non-persistent topics</strong>, which are topics on which messages are <em>never</em> persisted to disk and live only in memory. When using non-persistent delivery, killing a Pulsar <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher [...] + +<p>Non-persistent topics have names of this form (note the <code class="highlighter-rouge">non-persistent</code> in the name):</p> + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<section class="topic"> + non-persistent://<span class="property">property</span>/<span class="cluster">cluster</span>/<span class="namespace">namespace</span>/<span class="t">topic</span> +</section> + <!-- Licensed to the Apache Software Foundation (ASF) under one @@ -1806,53 +1847,64 @@ Application can create any number of <a href="#topics">topics</a> under the name --> <div class="admonition"> <div class="success"> - <span class="admonition-title"><p>Notice</p> -</span> -<p>This feature is still in experimental mode and implementation details may change in future release.</p> + <p>For more info on using non-persistent topics, see the <a href="../../cookbooks/non-persistent-topics">Non-persistent messaging cookbook</a>.</p> </div> </div> -<p>As name suggests, non-persist topic does not persist messages into any durable storage disk unlike persistent topic where messages are durably persisted on multiple disks.</p> +<p>In non-persistent topics, <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher that handles all message transers. Pulsar clusters typically consist of multiple brokers." data-toggle="popover" data-trigger="focus">brokers</span> immediately deliver messages to all connected [...] -<p>Therefore, if you are using persistent delivery, messages are persisted to disk/database so that they will survive a broker restart or subscriber failover. While using non-persistent delivery, if you kill a broker or subscriber is disconnected then subscriber will lose all in-transit messages. So, client may see message loss with non-persistent topic.</p> +<!-- -<ul> - <li>In non-persistent topic, as soon as broker receives published message, it immediately delivers this message to all connected subscribers without persisting them into any storage. So, if subscriber gets disconnected with broker then broker will not be able to deliver those in-transit messages and subscribers will never be able to receive those messages again. Broker also drops a message for the consumer, if consumer does not have enough permit to consume message, or consumer TCP cha [...] - <li>Broker only allows configured number of in-flight messages per client connection. So, if producer tries to publish messages higher than this rate, then broker silently drops those new incoming messages without processing and delivering them to the subscribers. However, broker acknowledges with special message-id (<code class="highlighter-rouge">msg-id: -1:-1</code>) for those dropped messages to signal producer about the message drop.</li> -</ul> + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at -<h4 id="performance">Performance</h4> + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. -<p>Non-persistent messaging is usually faster than persistent messaging because broker does not persist messages and immediately sends ack back to producer as soon as that message deliver to all connected subscribers. Therefore, producer sees comparatively low publish latency with non-persistent topic.</p> +--> +<div class="admonition"> + <div class="danger"> + + <p>With non-persistent topics, message data lives only in memory. If a message broker fails or message data can otherwise not be retrieved from memory, your message data may be lost. Use non-persistent topics only if you’re <em>certain</em> that your use case requires it and can sustain it.</p> -<h4 id="client-api">Client API</h4> + </div> +</div> -<p>A topic name will look like:</p> +<p>By default, non-persistent topics are enabled on Pulsar <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher that handles all message transers. Pulsar clusters typically consist of multiple brokers." data-toggle="popover" data-trigger="focus">brokers</span>. You can disable [...] -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>non-persistent://my-property/us-west/my-namespace/my-topic -</code></pre></div></div> +<h4 id="performance">Performance</h4> + +<p>Non-persistent messaging is usually faster than persistent messaging because brokers don’t persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p> -<p>Producer and consumer can connect to non-persistent topic in a similar way, as persistent topic except topic name must start with <code class="highlighter-rouge">non-persistent</code>.</p> +<h4 id="client-api">Client API</h4> -<p>Non-persistent topic supports all 3 different subscription-modes: <strong>Exclusive</strong>, <strong>Shared</strong>, <strong>Failover</strong> which are already explained in details at <a href="../../getting-started/ConceptsAndArchitecture">GettingStarted</a>.</p> +<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code class="highlighter-rouge">non-persistent</code>. All three subscription modes—<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>—are supported for non-persistent topics.</p> -<h5 id="consumer-api">Consumer API</h5> +<p>Here’s an example <a href="../../clients/Java#consumer">Java consumer</a> for a non-persistent topic:</p> <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PulsarClient</span> <span class="n">client</span> <span class="o">=</span> <span class="n">PulsarClient</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="s">"pulsar://localhost:6650"</span><span class="o">);</span> +<span class="n">String</span> <span class="n">npTopic</span> <span class="o">=</span> <span class="s">"non-persistent://sample/standalone/ns1/my-topic"</span><span class="o">;</span> +<span class="n">String</span> <span class="n">subscriptionName</span> <span class="o">=</span> <span class="s">"my-subscription-name"</span><span class="o">;</span> -<span class="n">Consumer</span> <span class="n">consumer</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">subscribe</span><span class="o">(</span> - <span class="s">"non-persistent://sample/standalone/ns1/my-topic"</span><span class="o">,</span> - <span class="s">"my-subscribtion-name"</span><span class="o">);</span> +<span class="n">Consumer</span> <span class="n">consumer</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">subscribe</span><span class="o">(</span><span class="n">npTopic</span><span class="o">,</span> <span class="n">subscriptionName</span><span class="o">);</span> </code></pre></div></div> -<h5 id="producer-api">Producer API</h5> +<p>Here’s an example <a href="../../clients/Java#producer">Java producer</a> for the same non-persistent topic:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PulsarClient</span> <span class="n">client</span> <span class="o">=</span> <span class="n">PulsarClient</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="s">"pulsar://localhost:6650"</span><span class="o">);</span> - -<span class="n">Producer</span> <span class="n">producer</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">createProducer</span><span class="o">(</span> - <span class="s">"non-persistent://sample/standalone/ns1/my-topic"</span><span class="o">);</span> +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Producer</span> <span class="n">producer</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">createProducer</span><span class="o">(</span><span class="n">npTopic</span><span class="o">);</span> </code></pre></div></div> <h4 id="broker-configuration">Broker configuration</h4> @@ -2009,12 +2061,12 @@ enableNonPersistentTopics=true <h2 id="persistent-storage">Persistent storage</h2> -<p><img src="/img/broker-bookie.png" alt="Brokers and bookies" /></p> - <p>Pulsar provides guaranteed message delivery for applications. If a message successfully reaches a Pulsar <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher that handles all message transers. Pulsar clusters typically consist of multiple brokers." data-toggle="popover" dat [...] <p>This guarantee requires that non-<span class="popover-term" tabindex="0" title="What is an acknowledgement (ack)?" data-placement="top" data-content="A message sent to a Pulsar broker by a consumer that a message has been successfully processed. An acknowledgement (ack) is Pulsar's way of knowing that the message can be deleted from the system; if no acknowledgement, then the message will be retained until it's processed." data-toggle="popover" data-trigger="focus">acknowledged</span> [...] +<h3 id="bookkeeper">Apache BookKeeper</h3> + <p>Pulsar uses a system called <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a> for persistent message storage. BookKeeper is a distributed <a href="https://en.wikipedia.org/wiki/Write-ahead_logging">write-ahead log</a> (WAL) system that provides a number of crucial advantages for Pulsar:</p> <ul> @@ -2054,7 +2106,37 @@ enableNonPersistentTopics=true persistent://<span class="property">my-property</span>/<span class="cluster">global</span>/<span class="namespace">my-namespace</span>/<span class="t">my-topic</span> </section> -<p>In the future, Pulsar will support ephemeral message storage.</p> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<div class="admonition"> + <div class="success"> + + <p>Pulsar also supports ephemeral (<a href="#non-persistent-topics">non-persistent</a>) message storage.</p> + + </div> +</div> + +<p>You can see an illustration of how <span class="popover-term" tabindex="0" title="What is a broker?" data-placement="top" data-content="A stateless component of Pulsar clusters that runs two other components: an HTTP server exposing a REST interface for administration and topic lookup and a dispatcher that handles all message transers. Pulsar clusters typically consist of multiple brokers." data-toggle="popover" data-trigger="focus">brokers</span> and <span class="popover-term" tabind [...] + +<p><img src="/img/broker-bookie.png" alt="Brokers and bookies" /></p> <h3 id="ledgers">Ledgers</h3> diff --git a/content/docs/latest/getting-started/LocalCluster/index.html b/content/docs/latest/getting-started/LocalCluster/index.html index 76c84b7..0732ad0 100644 --- a/content/docs/latest/getting-started/LocalCluster/index.html +++ b/content/docs/latest/getting-started/LocalCluster/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1016,6 +1023,8 @@ + + </ul> </div> </div> @@ -1228,6 +1237,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/getting-started/docker/index.html b/content/docs/latest/getting-started/docker/index.html index f102cee..a4324b9 100644 --- a/content/docs/latest/getting-started/docker/index.html +++ b/content/docs/latest/getting-started/docker/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1016,6 +1023,8 @@ + + </ul> </div> </div> @@ -1228,6 +1237,8 @@ + + </ul> </div> </div> @@ -1438,6 +1449,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/project/BinaryProtocol/index.html b/content/docs/latest/project/BinaryProtocol/index.html index edb356f..9cd008d 100644 --- a/content/docs/latest/project/BinaryProtocol/index.html +++ b/content/docs/latest/project/BinaryProtocol/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> @@ -1224,6 +1233,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/project/Codebase/index.html b/content/docs/latest/project/Codebase/index.html index 2a4fbf2..aaa1653 100644 --- a/content/docs/latest/project/Codebase/index.html +++ b/content/docs/latest/project/Codebase/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/docs/latest/project/SimulationTools/index.html b/content/docs/latest/project/SimulationTools/index.html index 1572c0e..7a999c2 100644 --- a/content/docs/latest/project/SimulationTools/index.html +++ b/content/docs/latest/project/SimulationTools/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1014,6 +1021,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/reference/CliTools/index.html b/content/docs/latest/reference/CliTools/index.html index ee52941..8ff2ae6 100644 --- a/content/docs/latest/reference/CliTools/index.html +++ b/content/docs/latest/reference/CliTools/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1030,6 +1037,8 @@ + + </ul> </div> </div> @@ -1242,6 +1251,8 @@ + + </ul> </div> </div> @@ -1458,6 +1469,8 @@ + + </ul> </div> </div> @@ -1668,6 +1681,8 @@ + + </ul> </div> </div> @@ -1878,6 +1893,8 @@ + + </ul> </div> </div> @@ -2088,6 +2105,8 @@ + + </ul> </div> </div> diff --git a/content/docs/latest/reference/Configuration/index.html b/content/docs/latest/reference/Configuration/index.html index 88853c6..9e4b0d4 100644 --- a/content/docs/latest/reference/Configuration/index.html +++ b/content/docs/latest/reference/Configuration/index.html @@ -696,6 +696,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> @@ -1437,6 +1444,20 @@ Ideally, ledger dirs and the journal dir are each in a different device, which r </thead> <tbody> + <tr id="broker-enablePersistentTopics"> + <td>enablePersistentTopics</td> + <td>Whether persistent topics are enabled on the broker +</td> + <td>true</td> + </tr> + + <tr id="broker-enableNonPersistentTopics"> + <td>enableNonPersistentTopics</td> + <td>Whether non-persistent topics are enabled on the broker +</td> + <td>true</td> + </tr> + <tr id="broker-functionsWorkerEnabled"> <td>functionsWorkerEnabled</td> <td>Whether the Pulsar Functions worker service is enabled in the broker diff --git a/content/docs/latest/reference/RestApi/index.html b/content/docs/latest/reference/RestApi/index.html index 5832a0f..0ea675e 100644 --- a/content/docs/latest/reference/RestApi/index.html +++ b/content/docs/latest/reference/RestApi/index.html @@ -695,6 +695,13 @@ <li> + <a href="../../cookbooks/non-persistent-messaging"> + Non-persistent messaging + </a> + </li> + + + <li> <a href="../../cookbooks/PartitionedTopics"> Partitioned topics </a> diff --git a/content/ja/adaptors/PulsarSpark/index.html b/content/ja/adaptors/PulsarSpark/index.html index 37ea64e..66f624d 100644 --- a/content/ja/adaptors/PulsarSpark/index.html +++ b/content/ja/adaptors/PulsarSpark/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> @@ -1264,6 +1268,8 @@ + + </ul> </div> </div> diff --git a/content/ja/adaptors/PulsarStorm/index.html b/content/ja/adaptors/PulsarStorm/index.html index a37d6d6..2bccf8c 100644 --- a/content/ja/adaptors/PulsarStorm/index.html +++ b/content/ja/adaptors/PulsarStorm/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1054,6 +1056,8 @@ + + </ul> </div> </div> diff --git a/content/ja/admin/AdminInterface/index.html b/content/ja/admin/AdminInterface/index.html index 529bf82..14c9d7f 100644 --- a/content/ja/admin/AdminInterface/index.html +++ b/content/ja/admin/AdminInterface/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1062,6 +1064,8 @@ + + </ul> </div> </div> @@ -1272,6 +1276,8 @@ + + </ul> </div> </div> @@ -1490,6 +1496,8 @@ + + </ul> </div> </div> diff --git a/content/ja/admin/Authz/index.html b/content/ja/admin/Authz/index.html index e57693d..51744f0 100644 --- a/content/ja/admin/Authz/index.html +++ b/content/ja/admin/Authz/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1060,6 +1062,8 @@ + + </ul> </div> </div> @@ -1270,6 +1274,8 @@ + + </ul> </div> </div> @@ -1480,6 +1486,8 @@ + + </ul> </div> </div> @@ -1690,6 +1698,8 @@ + + </ul> </div> </div> @@ -1908,6 +1918,8 @@ + + </ul> </div> </div> @@ -2120,6 +2132,8 @@ + + </ul> </div> </div> diff --git a/content/ja/admin/ClustersBrokers/index.html b/content/ja/admin/ClustersBrokers/index.html index f21b891..b5606d4 100644 --- a/content/ja/admin/ClustersBrokers/index.html +++ b/content/ja/admin/ClustersBrokers/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1060,6 +1062,8 @@ + + </ul> </div> </div> @@ -1270,6 +1274,8 @@ + + </ul> </div> </div> @@ -1480,6 +1486,8 @@ + + </ul> </div> </div> @@ -1690,6 +1698,8 @@ + + </ul> </div> </div> @@ -1900,6 +1910,8 @@ + + </ul> </div> </div> diff --git a/content/ja/admin/PropertiesNamespaces/index.html b/content/ja/admin/PropertiesNamespaces/index.html index ee21a9e..80c4d16 100644 --- a/content/ja/admin/PropertiesNamespaces/index.html +++ b/content/ja/admin/PropertiesNamespaces/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> @@ -1270,6 +1274,8 @@ + + </ul> </div> </div> diff --git a/content/ja/advanced/PartitionedTopics/index.html b/content/ja/advanced/PartitionedTopics/index.html index 81a0c6f..914edb7 100644 --- a/content/ja/advanced/PartitionedTopics/index.html +++ b/content/ja/advanced/PartitionedTopics/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> @@ -1270,6 +1274,8 @@ + + </ul> </div> </div> @@ -1480,6 +1486,8 @@ + + </ul> </div> </div> diff --git a/content/ja/advanced/RetentionExpiry/index.html b/content/ja/advanced/RetentionExpiry/index.html index 27e88f6..60fe075 100644 --- a/content/ja/advanced/RetentionExpiry/index.html +++ b/content/ja/advanced/RetentionExpiry/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1060,6 +1062,8 @@ + + </ul> </div> </div> @@ -1270,6 +1274,8 @@ + + </ul> </div> </div> @@ -1480,6 +1486,8 @@ + + </ul> </div> </div> diff --git a/content/ja/clients/Cpp/index.html b/content/ja/clients/Cpp/index.html index b63a746..7f2a07a 100644 --- a/content/ja/clients/Cpp/index.html +++ b/content/ja/clients/Cpp/index.html @@ -842,6 +842,8 @@ + + </ul> </div> </div> @@ -1054,6 +1056,8 @@ + + </ul> </div> </div> diff --git a/content/ja/clients/Java/index.html b/content/ja/clients/Java/index.html index b237f86..5639d8b 100644 --- a/content/ja/clients/Java/index.html +++ b/content/ja/clients/Java/index.html @@ -842,6 +842,8 @@ + + </ul> </div> </div> @@ -1060,6 +1062,8 @@ + + </ul> </div> </div> diff --git a/content/ja/clients/Python/index.html b/content/ja/clients/Python/index.html index 77622e4..52e6351 100644 --- a/content/ja/clients/Python/index.html +++ b/content/ja/clients/Python/index.html @@ -842,6 +842,8 @@ + + </ul> </div> </div> @@ -1054,6 +1056,8 @@ + + </ul> </div> </div> diff --git a/content/ja/clients/WebSocket/index.html b/content/ja/clients/WebSocket/index.html index d12519d..b12ff95 100644 --- a/content/ja/clients/WebSocket/index.html +++ b/content/ja/clients/WebSocket/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> @@ -1258,6 +1262,8 @@ + + </ul> </div> </div> diff --git a/content/ja/deployment/InstanceSetup/index.html b/content/ja/deployment/InstanceSetup/index.html index dd0688a..e437106 100644 --- a/content/ja/deployment/InstanceSetup/index.html +++ b/content/ja/deployment/InstanceSetup/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1060,6 +1062,8 @@ + + </ul> </div> </div> diff --git a/content/ja/deployment/Kubernetes/index.html b/content/ja/deployment/Kubernetes/index.html index 07ad23f..50770fa 100644 --- a/content/ja/deployment/Kubernetes/index.html +++ b/content/ja/deployment/Kubernetes/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> diff --git a/content/ja/getting-started/ConceptsAndArchitecture/index.html b/content/ja/getting-started/ConceptsAndArchitecture/index.html index d8c77b3..15b0082 100644 --- a/content/ja/getting-started/ConceptsAndArchitecture/index.html +++ b/content/ja/getting-started/ConceptsAndArchitecture/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> diff --git a/content/ja/getting-started/LocalCluster/index.html b/content/ja/getting-started/LocalCluster/index.html index 7210825..67268ff 100644 --- a/content/ja/getting-started/LocalCluster/index.html +++ b/content/ja/getting-started/LocalCluster/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> diff --git a/content/ja/project/BinaryProtocol/index.html b/content/ja/project/BinaryProtocol/index.html index b0ceb40..222d39c 100644 --- a/content/ja/project/BinaryProtocol/index.html +++ b/content/ja/project/BinaryProtocol/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> @@ -1046,6 +1048,8 @@ + + </ul> </div> </div> diff --git a/content/ja/project/SimulationTools/index.html b/content/ja/project/SimulationTools/index.html index f257e9b..1376434 100644 --- a/content/ja/project/SimulationTools/index.html +++ b/content/ja/project/SimulationTools/index.html @@ -836,6 +836,8 @@ + + </ul> </div> </div> diff --git a/content/ja/reference/CliTools/index.html b/content/ja/reference/CliTools/index.html index 92d0cce..88f52212 100644 --- a/content/ja/reference/CliTools/index.html +++ b/content/ja/reference/CliTools/index.html @@ -850,6 +850,8 @@ + + </ul> </div> </div> @@ -1062,6 +1064,8 @@ + + </ul> </div> </div> @@ -1278,6 +1282,8 @@ + + </ul> </div> </div> @@ -1488,6 +1494,8 @@ + + </ul> </div> </div> @@ -1698,6 +1706,8 @@ + + </ul> </div> </div> @@ -1908,6 +1918,8 @@ + + </ul> </div> </div> diff --git a/content/ja/reference/Configuration/index.html b/content/ja/reference/Configuration/index.html index 096f3e5..8429b5a 100644 --- a/content/ja/reference/Configuration/index.html +++ b/content/ja/reference/Configuration/index.html @@ -1207,6 +1207,20 @@ Ideally, ledger dirs and the journal dir are each in a different device, which r </thead> <tbody> + <tr id="broker-enablePersistentTopics"> + <td>enablePersistentTopics</td> + <td>Whether persistent topics are enabled on the broker +</td> + <td>true</td> + </tr> + + <tr id="broker-enableNonPersistentTopics"> + <td>enableNonPersistentTopics</td> + <td>Whether non-persistent topics are enabled on the broker +</td> + <td>true</td> + </tr> + <tr id="broker-functionsWorkerEnabled"> <td>functionsWorkerEnabled</td> <td>Whether the Pulsar Functions worker service is enabled in the broker -- To stop receiving notification emails like this one, please contact mme...@apache.org.