diff --git a/site2/docs/admin-api-overview.md b/site2/docs/admin-api-overview.md index ae67de958b574..6d8756ff963c1 100644 --- a/site2/docs/admin-api-overview.md +++ b/site2/docs/admin-api-overview.md @@ -9,8 +9,9 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; ```` +Pulsar admin APIs enable you to administer clusters programmatically. For example, you can create, update, delete, and manage all the entities within Pulsar instances (such as clusters, namespaces, tenants, topics, schemas, connectors, functions, and so on), and set various policies for data, resources, and security. -The Pulsar admin interface enables you to manage all important entities in a Pulsar instance, such as tenants, topics, and namespaces. +![Admin APIs - Definition](/assets/admin-api-definition.svg) You can interact with the admin interface via: diff --git a/site2/docs/assets/admin-api-definition.svg b/site2/docs/assets/admin-api-definition.svg new file mode 100644 index 0000000000000..1e067dcb11e1a --- /dev/null +++ b/site2/docs/assets/admin-api-definition.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site2/docs/assets/client-api-definition.svg b/site2/docs/assets/client-api-definition.svg new file mode 100644 index 0000000000000..3908cb95a44ec --- /dev/null +++ b/site2/docs/assets/client-api-definition.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site2/docs/assets/pulsar-api-definition.svg b/site2/docs/assets/pulsar-api-definition.svg new file mode 100644 index 0000000000000..39121cf32dabf --- /dev/null +++ b/site2/docs/assets/pulsar-api-definition.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site2/docs/client-api-overview.md b/site2/docs/client-api-overview.md new file mode 100644 index 0000000000000..344133e11d2d4 --- /dev/null +++ b/site2/docs/client-api-overview.md @@ -0,0 +1,18 @@ +--- +id: client-api-overview +title: Client API +sidebar_label: "Overview" +--- + +````mdx-code-block +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +```` + +Pulsar client APIs allow you to create and configure producers, consumers, and readers; produce and consume messages; perform authentication and authorization tasks, and so on via programmable interfaces. They encapsulate and optimize Pulsar’s client-broker communication protocols and add additional features using Pulsar primitives. Pulsar exposes client APIs with language bindings for [Java](client-libraries-java.md), [C++](client-libraries-cpp.md), [Python](client-libraries-python.md), [Go](client-libraries-go.md), [Node.js](client-libraries-node.md), [WebSocket](client-libraries-websocket.md), and [C#](client-libraries-dotnet.md). + +![Client APIs - Definition](/assets/client-api-definition.svg) + +## Next steps + +For more details about Pulsar clients, including language-specific client libraries, feature matrix, third-party clients, see [Pulsar client - Overview](client-libraries.md). \ No newline at end of file diff --git a/site2/docs/pulsar-api-overview.md b/site2/docs/pulsar-api-overview.md new file mode 100644 index 0000000000000..9b1ecb37c7a20 --- /dev/null +++ b/site2/docs/pulsar-api-overview.md @@ -0,0 +1,33 @@ +--- +id: pulsar-api-overview +title: Pulsar API +sidebar_label: "Overview" +--- + +````mdx-code-block +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +```` + +Pulsar is a messaging and streaming platform that scales across organizations of all sizes. Pulsar APIs are the core building blocks of Pulsar, which allow you to interact with Pulsar or administer Pulsar clusters. Pulsar APIs consist of the following types: + +- [Pulsar client APIs](client-api-overview.md) + +- [Pulsar admin APIs](admin-api-overview.md) + +![Pulsar APIs - Definition](/assets/pulsar-api-definition.svg) + +## When to use Pulsar APIs + +Pulsar client APIs and Pulsar admin APIs serve two different purposes in the Pulsar API design. You can use Pulsar client APIs to build applications with Pulsar and use Pulsar admin APIs to manage Pulsar clusters. + +Here is a simple comparison between Pulsar client APIs and Pulsar admin APIs. + +Category|Pulsar client APIs|Pulsar admin APIs +---|---|---| +Audiences|Developers|DevOps +Goals|Build applications with Pulsar|Administer Pulsar clusters +Use cases|Pulsar client APIs help you create applications that rely on real-time data.

For example, you can build a financial application to handle fraud alerts or an eCommerce application that creates recommendations based on user activities.| Pulsar administration APIs let you administer the entire Pulsar instance, including clusters, tenants, namespaces, and topics, from a single endpoint.

For example, you can configure security and compliance, or get information about brokers, check for any issues, and then troubleshoot solutions. +Key features|- Process data with producers, consumers, readers, and TableView

- Secure data with authentication and authorization

- Protect data with transactions and schema

- Stabilize data with cluster-level auto failover | - Configure authentication and authorization

- Set data retention and resource isolation policies

- Facilitate workflow of application development

- Troubleshoot Pulsar +Interfaces | - [Java client API](client-libraries-java.md)

- [C++ client API](client-libraries-cpp.md)

- [Python client API](client-libraries-python.md)

- [Go client API](client-libraries-go.md)

- [Node.js client API](client-libraries-node.md)

- [WebSocket client API](client-libraries-websocket.md)

- [C# client API](client-libraries-dotnet.md) | - [Java admin API](admin-api-overview.md)

- [REST API](reference-rest-api-overview.md) + diff --git a/site2/website/sidebars.json b/site2/website/sidebars.json index 97c21a759a6b9..8cd134c7cfa69 100644 --- a/site2/website/sidebars.json +++ b/site2/website/sidebars.json @@ -315,6 +315,20 @@ "client-libraries-rest" ] }, + { + "type": "category", + "label": "Pulsar API", + "items": [ + "pulsar-api-overview" + ] + }, + { + "type": "category", + "label": "Client API", + "items": [ + "client-api-overview" + ] + }, { "type": "category", "label": "Admin API",