Skip to content

Commit

Permalink
[feat][doc] add Pulsar API content (#19002)
Browse files Browse the repository at this point in the history
  • Loading branch information
Anonymitaet authored Dec 22, 2022
1 parent 41edd2e commit f85d591
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 1 deletion.
3 changes: 2 additions & 1 deletion site2/docs/admin-api-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
1 change: 1 addition & 0 deletions site2/docs/assets/admin-api-definition.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site2/docs/assets/client-api-definition.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site2/docs/assets/pulsar-api-definition.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions site2/docs/client-api-overview.md
Original file line number Diff line number Diff line change
@@ -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).
33 changes: 33 additions & 0 deletions site2/docs/pulsar-api-overview.md
Original file line number Diff line number Diff line change
@@ -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. <br/><br/> 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. <br/><br/> 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 <br/><br/> - Secure data with authentication and authorization <br/><br/> - Protect data with transactions and schema <br/><br/> - Stabilize data with cluster-level auto failover | - Configure authentication and authorization <br/><br/> - Set data retention and resource isolation policies <br/><br/> - Facilitate workflow of application development<br/><br/> - Troubleshoot Pulsar
Interfaces | - [Java client API](client-libraries-java.md) <br/><br/> - [C++ client API](client-libraries-cpp.md) <br/><br/> - [Python client API](client-libraries-python.md) <br/><br/> - [Go client API](client-libraries-go.md) <br/><br/> - [Node.js client API](client-libraries-node.md) <br/><br/> - [WebSocket client API](client-libraries-websocket.md) <br/><br/> - [C# client API](client-libraries-dotnet.md) | - [Java admin API](admin-api-overview.md) <br/><br/> - [REST API](reference-rest-api-overview.md)

14 changes: 14 additions & 0 deletions site2/website/sidebars.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit f85d591

Please sign in to comment.