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

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


The following commit(s) were added to refs/heads/main by this push:
     new 5e42d43ae59 Docs sync done from apache/pulsar(#2865007)
5e42d43ae59 is described below

commit 5e42d43ae5978c8c1a892e9cf787657cf776b6d2
Author: Pulsar Site Updater <[email protected]>
AuthorDate: Thu Sep 15 06:17:20 2022 +0000

    Docs sync done from apache/pulsar(#2865007)
---
 site2/website-next/docs/admin-api-overview.md          |  2 +-
 site2/website-next/docs/client-libraries-java.md       |  2 +-
 site2/website-next/docs/client-libraries-python.md     |  2 +-
 site2/website-next/docs/client-libraries-websocket.md  |  2 +-
 site2/website-next/docs/concepts-replication.md        |  8 +-------
 .../docs/deploy-bare-metal-multi-cluster.md            |  2 +-
 site2/website-next/docs/functions-develop.md           |  2 +-
 .../docs/functions-worker-temp-file-path.md            |  2 +-
 site2/website-next/docs/functions-worker.md            |  4 ++--
 site2/website-next/docs/performance-pulsar-perf.md     |  2 +-
 site2/website-next/sidebars.json                       |  4 ++--
 .../version-2.10.x/client-libraries-java.md            |  2 +-
 .../version-2.10.x/client-libraries-python.md          |  2 +-
 .../version-2.10.x/client-libraries-websocket.md       |  2 +-
 .../version-2.10.x/concepts-replication.md             | 18 ++++++------------
 .../version-2.10.x/deploy-bare-metal-multi-cluster.md  |  2 +-
 .../version-2.8.x/client-libraries-java.md             |  2 +-
 .../version-2.8.x/client-libraries-websocket.md        |  2 +-
 .../version-2.8.x/deploy-bare-metal-multi-cluster.md   |  2 +-
 .../version-2.9.x/client-libraries-websocket.md        |  2 +-
 .../version-2.9.x/deploy-bare-metal-multi-cluster.md   |  2 +-
 21 files changed, 28 insertions(+), 40 deletions(-)

diff --git a/site2/website-next/docs/admin-api-overview.md 
b/site2/website-next/docs/admin-api-overview.md
index 7a5ea9e19e7..bc3d0de528b 100644
--- a/site2/website-next/docs/admin-api-overview.md
+++ b/site2/website-next/docs/admin-api-overview.md
@@ -1,6 +1,6 @@
 ---
 id: admin-api-overview
-title: Pulsar admin interface
+title: Pulsar admin interfaces
 sidebar_label: "Overview"
 ---
 
diff --git a/site2/website-next/docs/client-libraries-java.md 
b/site2/website-next/docs/client-libraries-java.md
index 69c3becbee6..b0dc9068dcc 100644
--- a/site2/website-next/docs/client-libraries-java.md
+++ b/site2/website-next/docs/client-libraries-java.md
@@ -739,7 +739,7 @@ private void receiveMessageFromConsumer(Object consumer) {
 
 ### Subscription types
 
-Pulsar has various [subscription types](concepts-messaging#subscription-types) 
to match different scenarios. A topic can have multiple subscriptions with 
different subscription types. However, a subscription can only have one 
subscription type at a time.
+Pulsar has various [subscription 
types](concepts-messaging.md#subscription-types) to match different scenarios. 
A topic can have multiple subscriptions with different subscription types. 
However, a subscription can only have one subscription type at a time.
 
 A subscription is identical to the subscription name; a subscription name can 
specify only one subscription type at a time. To change the subscription type, 
you should first stop all consumers of this subscription.
 
diff --git a/site2/website-next/docs/client-libraries-python.md 
b/site2/website-next/docs/client-libraries-python.md
index 2e65a42a91a..026afa093b8 100644
--- a/site2/website-next/docs/client-libraries-python.md
+++ b/site2/website-next/docs/client-libraries-python.md
@@ -450,7 +450,7 @@ Below is an `AvroSchema` defined using a JSON file 
(_company.avsc_).
 }
 ```
 
-You can load a schema definition from file by using 
[`avro.schema`]((http://avro.apache.org/docs/current/gettingstartedpython.html) 
or 
[`fastavro.schema`](https://fastavro.readthedocs.io/en/latest/schema.html#fastavro._schema_py.load_schema).
+You can load a schema definition from file by using 
[`avro.schema`](https://avro.apache.org/docs/current/getting-started-python/) 
or 
[`fastavro.schema`](https://fastavro.readthedocs.io/en/latest/schema.html#fastavro._schema_py.load_schema).
 
 If you use the "JSON definition" method to declare an `AvroSchema`, pay 
attention to the following points:
 
diff --git a/site2/website-next/docs/client-libraries-websocket.md 
b/site2/website-next/docs/client-libraries-websocket.md
index e128d7ef6ba..9060da9df27 100644
--- a/site2/website-next/docs/client-libraries-websocket.md
+++ b/site2/website-next/docs/client-libraries-websocket.md
@@ -4,7 +4,7 @@ title: Pulsar WebSocket API
 sidebar_label: "WebSocket"
 ---
 
-Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](getting-started-clients.md). Through 
WebSocket, you can publish and consume messages and use features available on 
the [Client Features 
Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](client-libraries.md). Through WebSocket, you 
can publish and consume messages and use features available on the [Client 
Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) 
page.
 
 
 > You can use Pulsar WebSocket API with any WebSocket client library. See 
 > examples for Python and Node.js [below](#client-examples).
diff --git a/site2/website-next/docs/concepts-replication.md 
b/site2/website-next/docs/concepts-replication.md
index 13c6a9fe119..a47cd6038dc 100644
--- a/site2/website-next/docs/concepts-replication.md
+++ b/site2/website-next/docs/concepts-replication.md
@@ -20,7 +20,7 @@ The geo-replication mechanism can be categorized into 
synchronous geo-replicatio
 
 An asynchronous geo-replicated cluster is composed of multiple physical 
clusters set up in different data centers. Messages produced on a Pulsar topic 
are first persisted to the local cluster and then replicated asynchronously to 
the remote clusters by brokers. 
 
-![An example of asynchronous geo-replication 
mechanism](/assets/geo-replication-async.svg)
+![An example of an asynchronous geo-replication 
mechanism](/assets/geo-replication-async.svg)
 
 In normal cases, when there are no connectivity issues, messages are 
replicated immediately, at the same time as they are dispatched to local 
consumers. Typically, end-to-end delivery latency is defined by the network 
round-trip time (RTT) between the data centers. Applications can create 
producers and consumers in any of the clusters, even when the remote clusters 
are not reachable (for example, during a network partition).
 
@@ -55,12 +55,6 @@ Active-active replication is a variation of full-mesh 
replication, with only two
 
 For how to use active-active replication to migrate data between clusters, 
refer to 
[here](administration-geo.md/#migrate-data-between-clusters-using-geo-replication).
 
-### Active-standby replication
-
-Active-standby replication is a variation of active-active replication. 
Producers send messages to the active data center while messages are replicated 
to the standby data center for backup. If the active data center goes down, the 
standby data center takes over and becomes the active one. 
-
-![An example of an active-standby replication 
pattern](/assets/active-standby-replication.svg)
-
 ### Aggregation replication
 
 The aggregation replication pattern is typically used when replicating 
messages from the edge to the cloud. For example, assume you have 3 clusters in 
3 fronting datacenters and one aggregated cluster in a central data center, and 
you want to replicate messages from multiple fronting datacenters to the 
central data center for aggregation purposes. You can then create an individual 
namespace for the topics used by each fronting data center and assign the 
aggregated data center to those na [...]
diff --git a/site2/website-next/docs/deploy-bare-metal-multi-cluster.md 
b/site2/website-next/docs/deploy-bare-metal-multi-cluster.md
index e5564e5dce7..5ea4f035cf3 100644
--- a/site2/website-next/docs/deploy-bare-metal-multi-cluster.md
+++ b/site2/website-next/docs/deploy-bare-metal-multi-cluster.md
@@ -329,7 +329,7 @@ bin/pulsar broker
 
 ## Service discovery
 
-[Clients](getting-started-clients.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
+[Clients](client-libraries.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
 
 You can use your own service discovery system, and you only need to satisfy 
just one requirement: when a client performs an HTTP request to an 
[endpoint](reference-configuration.md) for a Pulsar cluster, such as 
`http://pulsar.us-west.example.com:8080`, the client needs to be redirected to 
some active brokers in the desired cluster, whether via DNS, an HTTP or IP 
redirect, or some other means.
 
diff --git a/site2/website-next/docs/functions-develop.md 
b/site2/website-next/docs/functions-develop.md
index 380ce9c602c..e17d6356678 100644
--- a/site2/website-next/docs/functions-develop.md
+++ b/site2/website-next/docs/functions-develop.md
@@ -20,5 +20,5 @@ To develop Pulsar Functions, you can leverage the following 
tools and features.
 * [Security](functions-develop-security.md)
 * [Stage storage](functions-develop-state.md)
 * [Admin APIs](functions-develop-admin-api.md)
-* [Schema registry](functions-schema-registry.md)
+* [Schema registry](functions-develop-schema-registry.md)
 * [SerDe](functions-develop-serde.md)
\ No newline at end of file
diff --git a/site2/website-next/docs/functions-worker-temp-file-path.md 
b/site2/website-next/docs/functions-worker-temp-file-path.md
index 197f07e047e..0b4a00c8db2 100644
--- a/site2/website-next/docs/functions-worker-temp-file-path.md
+++ b/site2/website-next/docs/functions-worker-temp-file-path.md
@@ -1,5 +1,5 @@
 ---
-id: functions-worker-tmp-file-path
+id: functions-worker-temp-file-path
 title: Configure temporary file path
 sidebar_label: "Configure temporary file path"
 ---
diff --git a/site2/website-next/docs/functions-worker.md 
b/site2/website-next/docs/functions-worker.md
index c785c05cf36..a6920a3d087 100644
--- a/site2/website-next/docs/functions-worker.md
+++ b/site2/website-next/docs/functions-worker.md
@@ -4,14 +4,14 @@ title: Set up function workers
 sidebar_label: "Set up function workers"
 ---
 
-You have two ways to set up [function 
workers](function-concepts.md#function-worker). 
+You have two ways to set up [function 
workers](functions-concepts.md#function-worker). 
 - [Run function workers with brokers](functions-worker-corun.md). Use it when:
     - resource isolation is not required when running functions in process or 
thread mode; 
     - you configure the function workers to run functions on Kubernetes (where 
the resource isolation problem is addressed by Kubernetes).
 - [Run function workers separately](functions-worker-run-separately.md). Use 
it when you want to separate functions and brokers.
 
 **Optional configurations**
-* [Configure temporary file path](functions-worker-tmp-file-path.md)
+* [Configure temporary file path](functions-worker-temp-file-path.md)
 * [Enable stateful functions](functions-worker-stateful.md)
 * [Configure function workers for geo-replicated 
clusters](functions-worker-for-geo-replication.md)
 
diff --git a/site2/website-next/docs/performance-pulsar-perf.md 
b/site2/website-next/docs/performance-pulsar-perf.md
index a3f69c5e235..da715b4a12f 100644
--- a/site2/website-next/docs/performance-pulsar-perf.md
+++ b/site2/website-next/docs/performance-pulsar-perf.md
@@ -136,7 +136,7 @@ For the latest and complete information about 
`pulsar-perf`, including commands,
 
 ## Transactions
 
-This section shows how Pulsar Perf runs transactions. For more information, 
see [Pulsar transactions](/txn-why).
+This section shows how Pulsar Perf runs transactions. For more information, 
see [Pulsar transactions](txn-why.md).
 
 ### Use transaction
 
diff --git a/site2/website-next/sidebars.json b/site2/website-next/sidebars.json
index 1c8ed289f4d..0da4f386bea 100644
--- a/site2/website-next/sidebars.json
+++ b/site2/website-next/sidebars.json
@@ -61,7 +61,7 @@
           "items": [
             "functions-worker-corun",
             "functions-worker-run-separately",
-            "functions-worker-tmp-file-path",
+            "functions-worker-temp-file-path",
             "functions-worker-stateful",
             "functions-worker-for-geo-replication",
             "functions-worker-troubleshooting"
@@ -302,7 +302,7 @@
     },
     {
       "type": "category",
-      "label": "Admin API",
+      "label": "Admin Interfaces",
       "items": [
         "admin-api-overview",
         "admin-api-clusters",
diff --git 
a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-java.md 
b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-java.md
index 38d26f70ee8..2709dab5815 100644
--- a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-java.md
+++ b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-java.md
@@ -1036,7 +1036,7 @@ private void receiveMessageFromConsumer(Object consumer) {
 
 ### Subscription types
 
-Pulsar has various [subscription types](concepts-messaging#subscription-types) 
to match different scenarios. A topic can have multiple subscriptions with 
different subscription types. However, a subscription can only have one 
subscription type at a time.
+Pulsar has various [subscription 
types](concepts-messaging.md#subscription-types) to match different scenarios. 
A topic can have multiple subscriptions with different subscription types. 
However, a subscription can only have one subscription type at a time.
 
 A subscription is identical to the subscription name; a subscription name can 
specify only one subscription type at a time. To change the subscription type, 
you should first stop all consumers of this subscription.
 
diff --git 
a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-python.md 
b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-python.md
index 10000237990..b607be00e54 100644
--- 
a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-python.md
+++ 
b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-python.md
@@ -456,7 +456,7 @@ Below is an `AvroSchema` defined using a JSON file 
(_company.avsc_).
 
 ```
 
-You can load a schema definition from file by using 
[`avro.schema`]((http://avro.apache.org/docs/current/gettingstartedpython.html) 
or 
[`fastavro.schema`](https://fastavro.readthedocs.io/en/latest/schema.html#fastavro._schema_py.load_schema).
+You can load a schema definition from file by using 
[`avro.schema`](https://avro.apache.org/docs/current/getting-started-python/) 
or 
[`fastavro.schema`](https://fastavro.readthedocs.io/en/latest/schema.html#fastavro._schema_py.load_schema).
 
 If you use the "JSON definition" method to declare an `AvroSchema`, pay 
attention to the following points:
 
diff --git 
a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-websocket.md
 
b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-websocket.md
index 5131e649f28..62608f03825 100644
--- 
a/site2/website-next/versioned_docs/version-2.10.x/client-libraries-websocket.md
+++ 
b/site2/website-next/versioned_docs/version-2.10.x/client-libraries-websocket.md
@@ -5,7 +5,7 @@ sidebar_label: "WebSocket"
 original_id: client-libraries-websocket
 ---
 
-Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](getting-started-clients.md). Through 
WebSocket, you can publish and consume messages and use features available on 
the [Client Features 
Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](client-libraries.md). Through WebSocket, you 
can publish and consume messages and use features available on the [Client 
Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) 
page.
 
 
 > You can use Pulsar WebSocket API with any WebSocket client library. See 
 > examples for Python and Node.js [below](#client-examples).
diff --git 
a/site2/website-next/versioned_docs/version-2.10.x/concepts-replication.md 
b/site2/website-next/versioned_docs/version-2.10.x/concepts-replication.md
index 1ac455c7028..9ec6affb341 100644
--- a/site2/website-next/versioned_docs/version-2.10.x/concepts-replication.md
+++ b/site2/website-next/versioned_docs/version-2.10.x/concepts-replication.md
@@ -11,7 +11,7 @@ Pulsar's geo-replication mechanism is typically used for 
disaster recovery, enab
 
 The diagram below illustrates the process of 
[geo-replication](administration-geo.md). Whenever three producers (P1, P2 and 
P3) respectively publish messages to the T1 topic in three clusters, those 
messages are instantly replicated across clusters. Once the messages are 
replicated, two consumers (C1 and C2) can consume those messages from their 
clusters.
 
-![A typical geo-replication example with full-mesh 
pattern](/assets/full-mesh-replication.svg)
+![A typical geo-replication example with a full-mesh 
pattern](/assets/full-mesh-replication.svg)
 
 ## Replication mechanisms
 
@@ -21,7 +21,7 @@ The geo-replication mechanism can be categorized into 
synchronous geo-replicatio
 
 An asynchronous geo-replicated cluster is composed of multiple physical 
clusters set up in different datacenters. Messages produced on a Pulsar topic 
are first persisted to the local cluster and then replicated asynchronously to 
the remote clusters by brokers. 
 
-![An example of asynchronous geo-replication 
mechanism](/assets/geo-replication-async.svg)
+![An example of an asynchronous geo-replication 
mechanism](/assets/geo-replication-async.svg)
 
 In normal cases, when there are no connectivity issues, messages are 
replicated immediately, at the same time as they are dispatched to local 
consumers. Typically, end-to-end delivery latency is defined by the network 
round-trip time (RTT) between the data centers. Applications can create 
producers and consumers in any of the clusters, even when the remote clusters 
are not reachable (for example, during a network partition).
 
@@ -31,7 +31,7 @@ Asynchronous geo-replication provides lower latency but may 
result in weaker con
 
 In synchronous geo-replication, data is synchronously replicated to multiple 
data centers and the client has to wait for an acknowledgment from the other 
data centers. As illustrated below, when the client issues a write request to 
one cluster, the written data will be replicated to the other two data centers. 
The write request is only acknowledged to the client when the majority of data 
centers (in this example, at least 2 data centers) have acknowledged that the 
write has been persisted. 
 
-![An example of synchronous geo-replication 
mechanism](/assets/geo-replication-sync.svg)
+![An example of a synchronous geo-replication 
mechanism](/assets/geo-replication-sync.svg)
 
 Synchronous geo-replication in Pulsar is achieved by BookKeeper. A synchronous 
geo-replicated cluster consists of a cluster of bookies and a cluster of 
brokers that run in multiple data centers, and a global Zookeeper installation 
(a ZooKeeper ensemble is running across multiple data centers). You need to 
configure a BookKeeper region-aware placement policy to store data across 
multiple data centers and guarantee availability constraints on writes.
 
@@ -46,24 +46,18 @@ Pulsar provides a great degree of flexibility for 
customizing your replication s
 
 Using full-mesh replication and applying the [selective message 
replication](administration-geo.md/#selective-replication), you can customize 
your replication strategies and topologies between any number of datacenters.
 
-![An example of full-mesh replication 
pattern](/assets/full-mesh-replication.svg)
+![An example of a full-mesh replication 
pattern](/assets/full-mesh-replication.svg)
 
 ### Active-active replication
 
 Active-active replication is a variation of full-mesh replication, with only 
two data centers. Producers are able to run at any data center to produce 
messages, and consumers can consume all messages from all data centers.
 
-![An example of active-active replication 
pattern](/assets/active-active-replication.svg)
+![An example of an active-active replication 
pattern](/assets/active-active-replication.svg)
 
 For how to use active-active replication to migrate data between clusters, 
refer to 
[here](administration-geo.md/#migrate-data-between-clusters-using-geo-replication).
 
-### Active-standby replication
-
-Active-standby replication is a variation of active-active replication. 
Producers send messages to the active data center while messages are replicated 
to the standby data center for backup. If the active data center goes down, the 
standby data center takes over and becomes the active one. 
-
-![An example of active-standby replication 
pattern](/assets/active-standby-replication.svg)
-
 ### Aggregation replication
 
 The aggregation replication pattern is typically used when replicating 
messages from the edge to the cloud. For example, assume you have 3 clusters in 
3 fronting datacenters and one aggregated cluster in a central data center, and 
you want to replicate messages from multiple fronting datacenters to the 
central data center for aggregation purposes. You can then create an individual 
namespace for the topics used by each fronting data center and assign the 
aggregated data center to those na [...]
 
-![An example of aggregation replication 
pattern](/assets/aggregation-replication.svg)
+![An example of an aggregation replication 
pattern](/assets/aggregation-replication.svg)
diff --git 
a/site2/website-next/versioned_docs/version-2.10.x/deploy-bare-metal-multi-cluster.md
 
b/site2/website-next/versioned_docs/version-2.10.x/deploy-bare-metal-multi-cluster.md
index 8a1f4ed91a6..c4d487e8f98 100644
--- 
a/site2/website-next/versioned_docs/version-2.10.x/deploy-bare-metal-multi-cluster.md
+++ 
b/site2/website-next/versioned_docs/version-2.10.x/deploy-bare-metal-multi-cluster.md
@@ -363,7 +363,7 @@ $ bin/pulsar broker
 
 ## Service discovery
 
-[Clients](getting-started-clients.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
+[Clients](client-libraries.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
 
 You can use your own service discovery system. If you use your own system, you 
only need to satisfy just one requirement: when a client performs an HTTP 
request to an [endpoint](reference-configuration.md) for a Pulsar cluster, such 
as `http://pulsar.us-west.example.com:8080`, the client needs to be redirected 
to some active brokers in the desired cluster, whether via DNS, an HTTP or IP 
redirect, or some other means.
 
diff --git 
a/site2/website-next/versioned_docs/version-2.8.x/client-libraries-java.md 
b/site2/website-next/versioned_docs/version-2.8.x/client-libraries-java.md
index d430e7ca2c0..930b59ac19b 100644
--- a/site2/website-next/versioned_docs/version-2.8.x/client-libraries-java.md
+++ b/site2/website-next/versioned_docs/version-2.8.x/client-libraries-java.md
@@ -535,7 +535,7 @@ private void receiveMessageFromConsumer(Object consumer) {
 
 ### Subscription types
 
-Pulsar has various [subscription types](concepts-messaging#subscription-types) 
to match different scenarios. A topic can have multiple subscriptions with 
different subscription types. However, a subscription can only have one 
subscription type at a time.
+Pulsar has various [subscription 
types](concepts-messaging.md#subscription-types) to match different scenarios. 
A topic can have multiple subscriptions with different subscription types. 
However, a subscription can only have one subscription type at a time.
 
 A subscription is identical to the subscription name; a subscription name can 
specify only one subscription type at a time. To change the subscription type, 
you should first stop all consumers of this subscription.
 
diff --git 
a/site2/website-next/versioned_docs/version-2.8.x/client-libraries-websocket.md 
b/site2/website-next/versioned_docs/version-2.8.x/client-libraries-websocket.md
index 0112088e5a4..a8b4553f5a2 100644
--- 
a/site2/website-next/versioned_docs/version-2.8.x/client-libraries-websocket.md
+++ 
b/site2/website-next/versioned_docs/version-2.8.x/client-libraries-websocket.md
@@ -5,7 +5,7 @@ sidebar_label: "WebSocket"
 original_id: client-libraries-websocket
 ---
 
-Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](getting-started-clients.md). Through 
WebSocket, you can publish and consume messages and use features available on 
the [Client Features 
Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](client-libraries.md). Through WebSocket, you 
can publish and consume messages and use features available on the [Client 
Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) 
page.
 
 
 > You can use Pulsar WebSocket API with any WebSocket client library. See 
 > examples for Python and Node.js [below](#client-examples).
diff --git 
a/site2/website-next/versioned_docs/version-2.8.x/deploy-bare-metal-multi-cluster.md
 
b/site2/website-next/versioned_docs/version-2.8.x/deploy-bare-metal-multi-cluster.md
index 1037691ccd3..782ffa8e213 100644
--- 
a/site2/website-next/versioned_docs/version-2.8.x/deploy-bare-metal-multi-cluster.md
+++ 
b/site2/website-next/versioned_docs/version-2.8.x/deploy-bare-metal-multi-cluster.md
@@ -367,7 +367,7 @@ $ bin/pulsar broker
 
 ## Service discovery
 
-[Clients](getting-started-clients.md) connecting to Pulsar brokers need to be 
able to communicate with an entire Pulsar instance using a single URL. Pulsar 
provides a built-in service discovery mechanism that you can set up using the 
instructions [immediately below](#service-discovery-setup).
+[Clients](client-libraries.md) connecting to Pulsar brokers need to be able to 
communicate with an entire Pulsar instance using a single URL. Pulsar provides 
a built-in service discovery mechanism that you can set up using the 
instructions [immediately below](#service-discovery-setup).
 
 You can also use your own service discovery system if you want. If you use 
your own system, you only need to satisfy just one requirement: when a client 
performs an HTTP request to an [endpoint](reference-configuration.md) for a 
Pulsar cluster, such as `http://pulsar.us-west.example.com:8080`, the client 
needs to be redirected to *some* active broker in the desired cluster, whether 
via DNS, an HTTP or IP redirect, or some other means.
 
diff --git 
a/site2/website-next/versioned_docs/version-2.9.x/client-libraries-websocket.md 
b/site2/website-next/versioned_docs/version-2.9.x/client-libraries-websocket.md
index 9c5c1c9e88e..f9496437794 100644
--- 
a/site2/website-next/versioned_docs/version-2.9.x/client-libraries-websocket.md
+++ 
b/site2/website-next/versioned_docs/version-2.9.x/client-libraries-websocket.md
@@ -5,7 +5,7 @@ sidebar_label: "WebSocket"
 original_id: client-libraries-websocket
 ---
 
-Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](getting-started-clients.md). Through 
WebSocket, you can publish and consume messages and use features available on 
the [Client Features 
Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) page.
+Pulsar 
[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) 
API provides a simple way to interact with Pulsar using languages that do not 
have an official [client library](client-libraries.md). Through WebSocket, you 
can publish and consume messages and use features available on the [Client 
Features Matrix](https://github.com/apache/pulsar/wiki/Client-Features-Matrix) 
page.
 
 
 > You can use Pulsar WebSocket API with any WebSocket client library. See 
 > examples for Python and Node.js [below](#client-examples).
diff --git 
a/site2/website-next/versioned_docs/version-2.9.x/deploy-bare-metal-multi-cluster.md
 
b/site2/website-next/versioned_docs/version-2.9.x/deploy-bare-metal-multi-cluster.md
index 18a36271c1d..e2cb90b5dd6 100644
--- 
a/site2/website-next/versioned_docs/version-2.9.x/deploy-bare-metal-multi-cluster.md
+++ 
b/site2/website-next/versioned_docs/version-2.9.x/deploy-bare-metal-multi-cluster.md
@@ -363,7 +363,7 @@ $ bin/pulsar broker
 
 ## Service discovery
 
-[Clients](getting-started-clients.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
+[Clients](client-libraries.md) connecting to Pulsar brokers need to 
communicate with an entire Pulsar instance using a single URL.
 
 You can use your own service discovery system. If you use your own system, you 
only need to satisfy just one requirement: when a client performs an HTTP 
request to an [endpoint](reference-configuration.md) for a Pulsar cluster, such 
as `http://pulsar.us-west.example.com:8080`, the client needs to be redirected 
to some active brokers in the desired cluster, whether via DNS, an HTTP or IP 
redirect, or some other means.
 

Reply via email to