This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 42b6d98 [Doc]--Update doc for multiple advertised listeners (#8789)
42b6d98 is described below
commit 42b6d9844126803cfc14a9ff4733d91bffae1948
Author: HuanliMeng <[email protected]>
AuthorDate: Thu Dec 3 11:06:25 2020 +0800
[Doc]--Update doc for multiple advertised listeners (#8789)
Fixes #1736
### Motivation
Multiple advertised listener is introduced in Release 2.6.0 but the doc is
not added or updated accordingly.
### Modifications
1: Releases 2.6.1 and 2.6.2
Update Reference > Pulsar configuration > Broker: add `advertisedListeners`
and `internalListenerName` config options
**Note: because these 2 config options have been added in Release master
and 2.6.0 by another TW.**
2: Release Master:
Concepts and Architecture: Add a new doc "Multiple advertised listeners".
sidebar: add the info of the new doc.
**Note: After the new doc is reviewed and approved, will add it to releases
2.6.0, 2.6.1 and 2.6.2.**
---
.../docs/concepts-multiple-advertised-listeners.md | 38 ++++++++++++++++++++++
site2/website/sidebars.json | 3 +-
.../version-2.6.1/reference-configuration.md | 2 ++
.../version-2.6.2/reference-configuration.md | 2 ++
4 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/site2/docs/concepts-multiple-advertised-listeners.md
b/site2/docs/concepts-multiple-advertised-listeners.md
new file mode 100644
index 0000000..8ba0db9
--- /dev/null
+++ b/site2/docs/concepts-multiple-advertised-listeners.md
@@ -0,0 +1,38 @@
+---
+id: concepts-multiple-advertised-listeners
+title: Multiple advertised listeners
+sidebar_label: Multiple advertised listeners
+---
+
+When a Pulsar cluster is deployed in the production environment, it may
require to expose multiple advertised addresses for the broker. For example,
when you deploy a Pulsar cluster in Kubernetes and want other clients, which
are not in the same Kubernetes cluster, to connect to the Pulsar cluster, you
need to assign a broker URL to external clients. But clients in the same
Kubernetes cluster can still connect to the Pulsar cluster through the internal
network of Kubernetes.
+
+## Advertised listeners
+
+To ensure clients in both internal and external networks can connect to a
Pulsar cluster, Pulsar introduces `advertisedListeners` and
`internalListenerName` configuration options into the [broker configuration
file](reference-configuration.md#broker) to ensure that the broker supports
exposing multiple advertised listeners and support the separation of internal
and external network traffic.
+
+- The `advertisedListeners` is used to specify multiple advertised listeners.
The broker uses the listener as the broker identifier in the load manager and
the bundle owner data. The `advertisedListeners` is formatted as
`<listener_name>:pulsar://<host>:<port>,
<listener_name>:pulsar+ssl://<host>:<port>`. You can set up the
`advertisedListeners` like
+`advertisedListeners=internal:pulsar://192.168.1.11:6660,internal:pulsar+ssl://192.168.1.11:6651`.
+
+- The `internalListenerName` is used to specify the internal service URL that
the broker uses. You can specify the `internalListenerName` by choosing one of
the `advertisedListeners`. The broker uses the listener name of the first
advertised listener as the `internalListenerName` if the `internalListenerName`
is absent.
+
+After setting up the `advertisedListeners`, clients can choose one of the
listeners as the service URL to create a connection to the broker as long as
the network is accessible. However, if the client creates producers or consumer
on a topic, the client must send a lookup requests to the broker for getting
the owner broker, then connect to the owner broker to publish messages or
consume messages. Therefore, You must allow the client to get the corresponding
service URL with the same adve [...]
+
+## Use multiple advertised listeners
+
+This example shows how a Pulsar client uses multiple advertised listeners.
+
+1. Configure multiple advertised listeners in the broker configuration file.
+
+```shell
+advertisedListeners={listenerName}:pulsar://xxxx:6650,
+{listenerName}:pulsar+ssl://xxxx:6651
+```
+
+2. Specify the listener name for the client.
+
+```java
+PulsarClient client = PulsarClient.builder()
+ .serviceUrl("pulsar://xxxx:6650")
+ .listenerName("external")
+ .build();
+```
\ No newline at end of file
diff --git a/site2/website/sidebars.json b/site2/website/sidebars.json
index 31bf9f2..c3aca43 100644
--- a/site2/website/sidebars.json
+++ b/site2/website/sidebars.json
@@ -14,7 +14,8 @@
"concepts-multi-tenancy",
"concepts-authentication",
"concepts-topic-compaction",
- "concepts-proxy-sni-routing"
+ "concepts-proxy-sni-routing",
+ "concepts-multiple-advertised-listeners"
],
"Pulsar Schema": [
"schema-get-started",
diff --git
a/site2/website/versioned_docs/version-2.6.1/reference-configuration.md
b/site2/website/versioned_docs/version-2.6.1/reference-configuration.md
index 46dd8aa..764159a 100644
--- a/site2/website/versioned_docs/version-2.6.1/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.6.1/reference-configuration.md
@@ -107,6 +107,8 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|Name|Description|Default|
|---|---|---|
+|advertisedListeners|Specify multiple advertised listeners for the
broker.<br><br>The format is
`<listener_name>:pulsar://<host>:<port>`.<br><br>If there are multiple
listeners, separate them with commas.<br><br>**Note**: do not use this
configuration with `advertisedAddress` and `brokerServicePort`. If the value of
this configuration is empty, the broker uses `advertisedAddress` and
`brokerServicePort`|/|
+|internalListenerName|Specify the internal listener name for the
broker.<br><br>**Note**: the listener name must be contained in
`advertisedListeners`.<br><br> If the value of this configuration is empty, the
broker uses the first listener as the internal listener.|/|
|enablePersistentTopics| Whether persistent topics are enabled on the broker
|true|
|enableNonPersistentTopics| Whether non-persistent topics are enabled on the
broker |true|
|functionsWorkerEnabled| Whether the Pulsar Functions worker service is
enabled in the broker |false|
diff --git
a/site2/website/versioned_docs/version-2.6.2/reference-configuration.md
b/site2/website/versioned_docs/version-2.6.2/reference-configuration.md
index 0be83e0..0a6647b 100644
--- a/site2/website/versioned_docs/version-2.6.2/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.6.2/reference-configuration.md
@@ -106,6 +106,8 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|Name|Description|Default|
|---|---|---|
+|advertisedListeners|Specify multiple advertised listeners for the
broker.<br><br>The format is
`<listener_name>:pulsar://<host>:<port>`.<br><br>If there are multiple
listeners, separate them with commas.<br><br>**Note**: do not use this
configuration with `advertisedAddress` and `brokerServicePort`. If the value of
this configuration is empty, the broker uses `advertisedAddress` and
`brokerServicePort`|/|
+|internalListenerName|Specify the internal listener name for the
broker.<br><br>**Note**: the listener name must be contained in
`advertisedListeners`.<br><br> If the value of this configuration is empty, the
broker uses the first listener as the internal listener.|/|
|enablePersistentTopics| Whether persistent topics are enabled on the broker
|true|
|enableNonPersistentTopics| Whether non-persistent topics are enabled on the
broker |true|
|functionsWorkerEnabled| Whether the Pulsar Functions worker service is
enabled in the broker |false|