From d49e1a5953e52988a6879456ce91ffc871024732 Mon Sep 17 00:00:00 2001 From: Pil0tXia <41445332+Pil0tXia@users.noreply.github.com> Date: Fri, 15 Dec 2023 09:53:25 +0800 Subject: [PATCH] [ISSUE #151] Adjust the categories sequence of sidebar and optimize SDK docs (#152) * Adjust the 'Quick Start' category to the top of sidebar * Correct some typos and format with pangu * Translate and optimize sdk doc * Standardize 'EventMesh Runtime' --- docs/instruction/03-runtime.md | 4 +- docs/instruction/04-runtime-with-docker.md | 2 +- docs/instruction/05-demo.md | 59 +++++++---- docs/sdk-java/02-http.md | 10 +- docs/sdk-java/03-tcp.md | 2 +- docs/sdk-java/04-grpc.md | 6 +- docs/upgrade-guide/01-upgrade-guide.md | 2 +- .../current/instruction/03-runtime.md | 2 +- .../current/instruction/05-demo.md | 99 ++++++++++--------- .../current/sdk-java/02-http.md | 14 ++- .../current/sdk-java/03-tcp.md | 2 +- .../current/sdk-java/04-grpc.md | 6 +- sidebars/docs.js | 24 ++--- .../version-v1.1.1-sidebars.json | 24 ++--- .../version-v1.2.0-sidebars.json | 24 ++--- .../version-v1.3.0-sidebars.json | 24 ++--- .../version-v1.4.0-sidebars.json | 24 ++--- .../version-v1.5.0-sidebars.json | 24 ++--- .../version-v1.6.0-sidebars.json | 24 ++--- .../version-v1.7.0-sidebars.json | 24 ++--- .../version-v1.8.0-sidebars.json | 24 ++--- .../version-v1.9.0-sidebars.json | 24 ++--- 22 files changed, 238 insertions(+), 210 deletions(-) diff --git a/docs/instruction/03-runtime.md b/docs/instruction/03-runtime.md index f205f352e4..4bf53a989e 100644 --- a/docs/instruction/03-runtime.md +++ b/docs/instruction/03-runtime.md @@ -1,6 +1,6 @@ # EventMesh Runtime -The EventMesh Runtime is a stateful mesh node in an EventMesh cluster that is responsible for event transfer between the Source Connector and the Sink Connector, and can use EventMesh Storage as a storage queue for events. +The EventMesh Runtime is a stateful mesh node in an EventMesh cluster that is responsible for event transfer between the Source Connector and the Sink Connector, and can use Event Store as a storage queue for events. ![EventMesh Runtime](/images/design-document/runtime.png) @@ -26,7 +26,7 @@ Download and extract the source code of the latest release from [EventMesh downl - eventmesh-common : eventmesh public classes and methods module - eventmesh-connector-api : eventmesh connector plugin interface definition module - eventmesh-connector-plugin : eventmesh connector plugin module -- eventmesh-runtime : eventmesh runtime module +- eventmesh-runtime : EventMesh Runtime module - eventmesh-sdk-java : eventmesh java client sdk - eventmesh-starter : eventmesh local startup and runtime project portal - eventmesh-spi : eventmesh SPI loader module diff --git a/docs/instruction/04-runtime-with-docker.md b/docs/instruction/04-runtime-with-docker.md index 7d2c1d1a5a..272b7d0f43 100644 --- a/docs/instruction/04-runtime-with-docker.md +++ b/docs/instruction/04-runtime-with-docker.md @@ -45,7 +45,7 @@ sudo touch rocketmq-client.properties ### 4. Configure `eventmesh.properties` -The `eventmesh.properties` file contains the properties of EventMesh runtime environment and integrated plugins. Please refer to the [default configuration file](https://github.com/apache/eventmesh/blob/master/eventmesh-runtime/conf/eventmesh.properties) for the available configuration keys. +The `eventmesh.properties` file contains the properties of EventMesh Runtime environment and integrated plugins. Please refer to the [default configuration file](https://github.com/apache/eventmesh/blob/master/eventmesh-runtime/conf/eventmesh.properties) for the available configuration keys. ```shell sudo vim eventmesh.properties diff --git a/docs/instruction/05-demo.md b/docs/instruction/05-demo.md index 0b270e32be..1445ad6995 100644 --- a/docs/instruction/05-demo.md +++ b/docs/instruction/05-demo.md @@ -1,16 +1,16 @@ -# Run eventmesh-sdk-java demo +# Run Java SDK Demo [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.eventmesh/eventmesh-sdk-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.eventmesh/eventmesh-sdk-java) -> EventMesh-sdk-java as the client,and comminucate with eventmesh-runtime,to finish the message sub and pub +> eventmesh-sdk-java acts as a client of EventMesh Runtime and communicates with it, to publish and subscribe the messages. > -> EventMesh-sdk-java support both async and broadcast. +> The eventmesh-sdk-java supports ASYNC messages and BROADCAST messages. ASYNC messages indicate that producers only send messages and do not care about receiving reply messages. BROADCAST messages mean that producers send a message once, and all consumers subscribed to the broadcast topic will receive the message. > -> EventMesh-sdk-java support HTTP, TCP and gRPC. +> eventmesh-sdk-java supports HTTP, TCP and gRPC protocols. -The test demos of TCP, HTTP 和 GRPC are in the module **eventmesh-examples**: +The test demos of TCP, HTTP and GRPC are in the module `eventmesh-examples`. -## 1. TCP DEMO +## 1. TCP ### 1.1 ASYNC @@ -42,8 +42,11 @@ Run the main method of org.apache.eventmesh.tcp.demo.pub.eventmeshmessage.AsyncP More information about EventMesh-TCP, please refer to [EventMesh TCP](../sdk-java/03-tcp.md) +## 2 HTTP -## 2 HTTP DEMO +>For HTTP, the eventmesh-sdk-java implements sending and subscribing to asynchronous events. +> +>In the demo, the `content` field of the Java class `LiteMessage` represents a special protocol. Therefore, if you are using the eventmesh-sdk-java's http-client, you only need to design the content of the protocol and provide the consumer's application at the same time. ### 2.1 ASYNC @@ -60,9 +63,17 @@ Run the main method of org.apache.eventmesh.http.demo.pub.eventmeshmessage.Async ``` More information about EventMesh-HTTP, please refer to [EventMesh HTTP](../sdk-java/02-http.md) -## 3 GRPC DEMO +## 3 GRPC + +>The eventmesh-sdk-java implements the gRPC protocol. It can asynchronously or synchronously send events to the EventMesh Runtime. +> +>It can subscribe to consume events through Webhook and event streaming, and also supports the CNCF CloudEvents protocol. + +### 3.1 ASYNC Publish & Webhook Subscribe -### 3.1 ASYNC PUBLISH & WEBHOOK SUBSCRIBE +>Producers can asynchronously send events to the EventMesh Runtime without waiting for the events to be stored in the `event-store`. +> +>For Webhook consumers, events will be pushed to the consumer's HTTP Endpoint URL, i.e., the consumer's `subscribeUrl`. This method is similar to the previously mentioned Http eventmesh client. - Start publisher to publish message (we have created the topic TEST-TOPIC-GRPC-ASYNC by default, you can also create other topic to test) @@ -76,7 +87,11 @@ Run the main method of org.apache.eventmesh.grpc.pub.eventmeshmessage.AsyncPubli Run the main method of org.apache.eventmesh.grpc.sub.app.SpringBootDemoApplication ``` -### 3.2 SYNC PUBLISH & STREAM SUBSCRIBE +### 3.2 SYNC Publish & Stream Subscribe + +>Producers synchronously send events to the EventMesh Runtime while waiting for the events to be stored in the `event-store`. +> +>For event stream consumers, events are pushed in a streaming to the `ReceiveMsgHook` client. This method is similar to the eventmesh client. - Start Request-Reply publisher to publish message (we have created the topic TEST-TOPIC-GRPC-RR by default, you can also create other topic to test) @@ -90,19 +105,21 @@ Run the main method of org.apache.eventmesh.grpc.pub.eventmeshmessage.RequestRep Run the main method of org.apache.eventmesh.grpc.sub.EventmeshAsyncSubscribe ``` -### 3.3 PUBLISH BATCH MESSAGE +### 3.3 Publish BATCH Message + +>Asynchronously batch publish multiple events to the EventMesh Runtime. -- Start publisher to publish batch message (we have created the TEST-TOPIC-GRPC-ASYNC by default, you can also create other topic to test) +- Start publisher to publish batch message (we have created the TEST-TOPIC-GRPC-ASYNC by default, you can also create other topic to test.) ``` Run the main method of org.apache.eventmesh.grpc.pub.eventmeshmessage.BatchPublishInstance ``` -More information about EventMesh-gRPC, please refer to [EventMesh gRPC](../sdk-java/04-grpc.md) +More information about EventMesh-gRPC, please refer to [EventMesh gRPC](../sdk-java/04-grpc.md). -## 4. Run these demos by yourself +## 4. Run Demo with shell scripts -Please refer to [EventMesh Store](./01-store.md) and [EventMesh Runtime](./03-runtime.md) to finish the necessary deployment before try our demo +Please refer to [EventMesh Store](./01-store.md) and [EventMesh Runtime](./03-runtime.md) to finish the necessary deployment before try our demo. After finishing the deployment of store and runtime, you can run our demos in module `eventmesh-examples`: @@ -118,7 +135,7 @@ cd ./dist/bin ![demo_1](/images/install/demo_1.png) ### 4.1 TCP -TCP Sub +#### TCP Sub ```shell bash tcp_eventmeshmessage_sub.sh @@ -131,7 +148,7 @@ tail -f demo_tcp_pub.out ``` ![demo_2](/images/install/demo_2.png) -TCP Pub +#### TCP Pub ```shell bash tcp_pub_eventmeshmessage.sh @@ -147,7 +164,7 @@ tail -f demo_tcp_sub.out ### 4.2 TCP Broadcast -TCP Sub Broadcast +#### TCP Sub Broadcast ```shell sh tcp_sub_eventmeshmessage_broadcast.sh @@ -161,7 +178,7 @@ tail -f demo_tcp_sub_broadcast.out ![demo_4](/images/install/demo_4.png) -TCP Pub Broadcast +#### TCP Pub Broadcast ```shell sh tcp_pub_eventmeshmessage_broadcast.sh @@ -177,7 +194,7 @@ tail -f demo_tcp_pub_broadcast.out ### 4.3 HTTP -HTTP Sub +#### HTTP Sub ```shell sh http_sub.sh @@ -191,7 +208,7 @@ tail -f demo_http_sub.out ![demo_6](/images/install/demo_6.png) -HTTP Pub +#### HTTP Pub ```shell sh http_pub_eventmeshmessage.sh diff --git a/docs/sdk-java/02-http.md b/docs/sdk-java/02-http.md index 5e5ae8b4db..611f54ea9c 100644 --- a/docs/sdk-java/02-http.md +++ b/docs/sdk-java/02-http.md @@ -1,6 +1,6 @@ # HTTP Protocol -EventMesh SDK for Java implements the HTTP producer and consumer of asynchronous messages. Both the producer and consumer require an instance of `EventMeshHttpClientConfig` class that specifies the configuration of EventMesh HTTP client. The `liteEventMeshAddr`, `userName`, and `password` fields should match the `eventmesh.properties` file of EventMesh runtime. +EventMesh SDK for Java implements the HTTP producer and consumer of asynchronous messages. Both the producer and consumer require an instance of `EventMeshHttpClientConfig` class that specifies the configuration of EventMesh HTTP client. The `liteEventMeshAddr`, `userName`, and `password` fields should match the `eventmesh.properties` file of EventMesh Runtime. ```java import org.apache.eventmesh.client.http.conf.EventMeshHttpClientConfig; @@ -53,7 +53,7 @@ public class HTTP { } ``` -The EventMesh runtime will send a POST request that contains the message in the [CloudEvents format](https://github.com/cloudevents/spec) to the callback URL. The [`SubController.java` file](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/http/demo/sub/controller/SubController.java) implements a Spring Boot controller that receives and parses the callback messages. +The EventMesh Runtime will send a POST request that contains the message in the [CloudEvents format](https://github.com/cloudevents/spec) to the callback URL. The [`SubController.java` file](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/http/demo/sub/controller/SubController.java) implements a Spring Boot controller that receives and parses the callback messages. ## HTTP Producer @@ -103,7 +103,7 @@ You can also publish/subscribe event without eventmesh SDK. curl -H "Content-Type:application/json" -X POST -d '{"name": "admin", "pass":"12345678"}' http://127.0.0.1:10105/eventmesh/publish/TEST-TOPIC-HTTP-ASYNC ``` -After you start the eventmesh runtime server, you can use the curl command publish the event to the specific topic with the HTTP POST method and the package body must be in JSON format. The publish url like (http://127.0.0.1:10105/eventmesh/publish/TEST-TOPIC-HTTP-ASYNC), and you will get the publish successful result. +After you start the EventMesh Runtime server, you can use the curl command publish the event to the specific topic with the HTTP POST method and the package body must be in JSON format. The publish url like (http://127.0.0.1:10105/eventmesh/publish/TEST-TOPIC-HTTP-ASYNC), and you will get the publish successful result. ### Subscribe @@ -111,5 +111,7 @@ After you start the eventmesh runtime server, you can use the curl command publi curl -H "Content-Type:application/json" -X POST -d '{"url": "http://127.0.0.1:8088/sub/test", "consumerGroup":"TEST-GROUP", "topic":[{"mode":"CLUSTERING","topic":"TEST-TOPIC-HTTP-ASYNC","type":"ASYNC"}]}' http://127.0.0.1:10105/eventmesh/subscribe/local ``` -After you start the eventmesh runtime server, you can use the curl command to subscribe the specific topic list with the HTTP POST method, and the package body must be in JSON format. The subscribe url like (http://127.0.0.1:10105/eventmesh/subscribe/local), and you will get the subscribe successful result. You should pay attention to the `url` field in the package body, which means you need to set up an HTTP service at the specified URL, you can see the example in the `eventmesh-examples` module. +After you start the EventMesh Runtime server, you can use the curl command to subscribe the specific topic list with the HTTP POST method, and the package body must be in JSON format. The subscribe url like (http://127.0.0.1:10105/eventmesh/subscribe/local), and you will get the subscribe successful result. You should pay attention to the `url` field in the package body, which means you need to set up an HTTP service at the specified URL. + +You can see the example in the `eventmesh-examples` module. diff --git a/docs/sdk-java/03-tcp.md b/docs/sdk-java/03-tcp.md index 87a682dc15..64a3efcf7f 100644 --- a/docs/sdk-java/03-tcp.md +++ b/docs/sdk-java/03-tcp.md @@ -1,6 +1,6 @@ # TCP Protocol -EventMesh SDK for Java implements the TCP producer and consumer of synchronous, asynchronous, and broadcast messages. Both the producer and consumer require an instance of `EventMeshTCPClientConfig` class that specifies the configuration of EventMesh TCP client. The `host` and `port` fields should match the `eventmesh.properties` file of EventMesh runtime. +EventMesh SDK for Java implements the TCP producer and consumer of synchronous, asynchronous, and broadcast messages. Both the producer and consumer require an instance of `EventMeshTCPClientConfig` class that specifies the configuration of EventMesh TCP client. The `host` and `port` fields should match the `eventmesh.properties` file of EventMesh Runtime. ```java import org.apache.eventmesh.client.tcp.conf.EventMeshTCPClientConfig; diff --git a/docs/sdk-java/04-grpc.md b/docs/sdk-java/04-grpc.md index 79d0d4ae57..477f243e13 100644 --- a/docs/sdk-java/04-grpc.md +++ b/docs/sdk-java/04-grpc.md @@ -1,6 +1,6 @@ # gRPC Protocol -EventMesh SDK for Java implements the gRPC producer and consumer of synchronous, asynchronous, and broadcast messages. Both the producer and consumer require an instance of `EventMeshGrpcClientConfig` class that specifies the configuration of EventMesh gRPC client. The `liteEventMeshAddr`, `userName`, and `password` fields should match the `eventmesh.properties` file of EventMesh runtime. +EventMesh SDK for Java implements the gRPC producer and consumer of synchronous, asynchronous, and broadcast messages. Both the producer and consumer require an instance of `EventMeshGrpcClientConfig` class that specifies the configuration of EventMesh gRPC client. The `liteEventMeshAddr`, `userName`, and `password` fields should match the `eventmesh.properties` file of EventMesh Runtime. ```java import org.apache.eventmesh.client.grpc.config.EventMeshGrpcClientConfig; @@ -24,7 +24,7 @@ public class CloudEventsAsyncSubscribe implements ReceiveMsgHook { ### Stream Consumer -The EventMesh runtime sends the message from producers to the stream consumer as a series of event streams. The consumer should implement the `ReceiveMsgHook` class, which is defined in [`ReceiveMsgHook.java`](https://github.com/apache/eventmesh/blob/master/eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/grpc/consumer/ReceiveMsgHook.java). +The EventMesh Runtime sends the message from producers to the stream consumer as a series of event streams. The consumer should implement the `ReceiveMsgHook` class, which is defined in [`ReceiveMsgHook.java`](https://github.com/apache/eventmesh/blob/master/eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/grpc/consumer/ReceiveMsgHook.java). ```java public interface ReceiveMsgHook { @@ -77,7 +77,7 @@ public class CloudEventsAsyncSubscribe implements ReceiveMsgHook { ### Webhook Consumer -The `subscribe` method of the `EventMeshGrpcConsumer` class accepts a list of `SubscriptionItem` that defines the topics to be subscribed and an optional callback URL. If the callback URL is provided, the EventMesh runtime will send a POST request that contains the message in the [CloudEvents format](https://github.com/cloudevents/spec) to the callback URL. The [`SubController.java` file](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/grpc/sub/app/controller/SubController.java) implements a Spring Boot controller that receives and parses the callback messages. +The `subscribe` method of the `EventMeshGrpcConsumer` class accepts a list of `SubscriptionItem` that defines the topics to be subscribed and an optional callback URL. If the callback URL is provided, the EventMesh Runtime will send a POST request that contains the message in the [CloudEvents format](https://github.com/cloudevents/spec) to the callback URL. The [`SubController.java` file](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/grpc/sub/app/controller/SubController.java) implements a Spring Boot controller that receives and parses the callback messages. ```java import org.apache.eventmesh.client.grpc.consumer.EventMeshGrpcConsumer; diff --git a/docs/upgrade-guide/01-upgrade-guide.md b/docs/upgrade-guide/01-upgrade-guide.md index e300cdf57e..97bc2ba8f9 100644 --- a/docs/upgrade-guide/01-upgrade-guide.md +++ b/docs/upgrade-guide/01-upgrade-guide.md @@ -8,7 +8,7 @@ ## 2. Service upgrade installation -The upgrade and startup of the EventMesh runtime module can be done in accordance with the [deployment guide](https://eventmesh.apache.org/docs/instruction/runtime). +The upgrade and startup of the EventMesh Runtime module can be done in accordance with the [deployment guide](https://eventmesh.apache.org/docs/instruction/runtime). For differences and changes between versions, please refer to the [release notes](https://eventmesh.apache.org/events/release-notes) of different versions. Compatibility between versions can be achieved. diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/instruction/03-runtime.md b/i18n/zh/docusaurus-plugin-content-docs/current/instruction/03-runtime.md index 213cfbc0c4..8cfb235e60 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/instruction/03-runtime.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/instruction/03-runtime.md @@ -1,6 +1,6 @@ # Eventmesh-runtime 快速入门说明 -EventMesh Runtime 是 EventMesh 集群中有状态的 Mesh 节点,负责 Source Connector 与 Sink Connector 之间的事件传输,并可以使用 EventMesh Storage 作为事件的存储队列。 +EventMesh Runtime 是 EventMesh 集群中有状态的 Mesh 节点,负责 Source Connector 与 Sink Connector 之间的事件传输,并可以使用 Event Store 作为事件的存储队列。 ![EventMesh Runtime](/images/design-document/runtime.png) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/instruction/05-demo.md b/i18n/zh/docusaurus-plugin-content-docs/current/instruction/05-demo.md index 6a08fcbf19..378ed590d5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/instruction/05-demo.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/instruction/05-demo.md @@ -1,21 +1,22 @@ -# 运行 eventmesh-sdk-java demo +# 运行 Java SDK Demo [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.eventmesh/eventmesh-sdk-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.eventmesh/eventmesh-sdk-java) -> EventMesh-sdk-java作为客户端,与eventmesh-runtime通信,用于完成消息的发送和接收。 +> eventmesh-sdk-java 作为客户端,与 EventMesh Runtime 通信,用于完成消息的发送和接收。 > -> EventMesh-sdk-java支持异步消息和广播消息。异步消息表示生产者只发送消息,不关心回复消息。广播消息表示生产者发送一次消息,所有订阅广播主题的消费者都将收到消息 +> eventmesh-sdk-java 支持异步消息和广播消息。异步消息表示生产者只发送消息,不关心回复消息。广播消息表示生产者发送一次消息,所有订阅广播主题的消费者都将收到消息。 > -> EventMesh-sdk-java支持HTTP,TCP 和 GRPC 协议。 +> eventmesh-sdk-java 支持 HTTP、TCP 和 GRPC 协议。 -TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 +TCP、HTTP 和 GRPC 示例都在`eventmesh-examples`模块下。 ## 1. TCP + ### 1.1 异步消息 -- 创建主题TEST-TOPIC-TCP-ASYNC,可以通过 rocketmq-console 或者 rocketmq tools 命令 +- 创建主题 TEST-TOPIC-TCP-ASYNC,可以通过 rocketmq-console 或者 rocketmq tools 命令 -- 启动消费者,订阅上一步骤已经创建的Topic +- 启动消费者,订阅上一步骤已经创建的 Topic ``` 运行 org.apache.eventmesh.tcp.demo.sub.eventmeshmessage.AsyncSubscribe 的main方法 @@ -29,9 +30,9 @@ TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 ### 1.2 广播消息 -- 创建主题TEST-TOPIC-TCP-BROADCAST,可以通过 rocketmq-console 或者 rocketmq tools 命令 +- 创建主题 TEST-TOPIC-TCP-BROADCAST,可以通过 rocketmq-console 或者 rocketmq tools 命令 -- 启动消费端,订阅上一步骤已经创建的Topic +- 启动消费端,订阅上一步骤已经创建的 Topic ``` 运行 org.apache.eventmesh.tcp.demo.sub.eventmeshmessage.AsyncSubscribeBroadcast 的main方法 @@ -43,23 +44,23 @@ TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 运行 org.apache.eventmesh.tcp.demo.pub.eventmeshmessage.AsyncPublishBroadcast 的main方法 ``` -更多关于TCP部分的内容,请参考 [EventMesh TCP](../sdk-java/03-tcp.md) +更多关于 TCP 部分的内容,请参考 [EventMesh TCP](../sdk-java/03-tcp.md) ## 2. HTTP -> 对于HTTP,eventmesh-sdk-java对对于异步事件实现了发送与订阅 +> 对于 HTTP,eventmesh-sdk-java 对异步事件实现了发送与订阅。 > ->在演示中,Java类`LiteMessage`的`content`字段表示一个特殊的协议,因此,如果您要使用eventmesh-sdk-java的http-client,则只需设计协议的内容并在同一时间提供消费者的应用程序。 +> 在Demo中,Java 类`LiteMessage`的`content`字段表示一个特殊的协议。因此,如果您要使用 eventmesh-sdk-java 的 http-client,则只需设计协议的内容并在同一时间提供消费者的应用程序。 ### 2.1 异步事件 -> 生产者将事件发送给下游即可,无需等待响应 +> 生产者将事件发送给下游即可,无需等待响应。 -- 创建主题TEST-TOPIC-HTTP-ASYNC,可以通过rocketmq-console或者rocketmq tools 命令 +- 创建主题 TEST-TOPIC-HTTP-ASYNC,可以通过 rocketmq-console 或者 rocketmq tools 命令 -- 启动消费端,订阅Topic +- 启动消费端,订阅 Topic - 异步事件消费端为spring boot demo,运行demo即可启动服务并完成Topic订阅 + 异步事件消费端为 SpringBoot Demo,运行 Demo 即可启动服务并完成 Topic 订阅 ``` 运行 org.apache.eventmesh.http.demo.sub.SpringBootDemoApplication 的main方法 @@ -70,19 +71,22 @@ TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 ``` 运行 org.apache.eventmesh.http.demo.pub.eventmeshmessage.AsyncPublishInstance 的main方法 ``` -更多关于HTTP部分的内容,请参考 [EventMesh HTTP](../sdk-java/02-http.md) + +更多关于 HTTP 部分的内容,请参考 [EventMesh HTTP](../sdk-java/02-http.md)。 ## 3. GRPC -> eventmesh-sdk-java 实现了 gRPC 协议. 它能异步和同步发送事件到 eventmesh-runtime. -> 它可以通过webhook和事件流方式订阅消费事件, 同时也支持 CNCF CloudEvents 协议. +> eventmesh-sdk-java 实现了 gRPC 协议。它能异步或同步地发送事件到 EventMesh Runtime。 +> +> 它可以通过 Webhook 和事件流方式订阅消费事件,同时也支持 CNCF CloudEvents 协议。 -### 3.1 异步事件发送 和 webhook订阅 +### 3.1 异步事件发送 和 Webhook 订阅 -> Async生产者 异步发送事件到 eventmesh-runtime, 不需要等待事件储存到 `event-store` -> 在webhook 消费者, 事件推送到消费者的http endpoint url。这个URL在消费者的 `Subscription` 模型定于. 这方法跟前面的Http eventmsh client类似。 +> 生产者可以异步地发送事件到 EventMesh Runtime,不需要等待事件储存到 `event-store`。 +> +> 对于 Webhook 消费者,事件会推送到消费者的 HTTP Endpoint URL,即消费者的`subscribeUrl`。此方法和前面的 Http eventmesh client 类似。 -- 在rocketmq 创建主题 TEST-TOPIC-GRPC-ASYNC +- 在 rocketmq 创建主题 TEST-TOPIC-GRPC-ASYNC - 启动 publisher 发送事件 ``` @@ -97,10 +101,11 @@ TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 ### 3.2 同步事件发送和事件流订阅 -> 同步生产者 发送事件到 eventmesh-runtime, 同时等待事件储存到 `event-store` -> 在事件流消费者,事件以流的形式推送到 `ReceiveMsgHook` 客户端。 这方法类似 eventmesh client. +> 生产者同步地发送事件到 EventMesh Runtime,同时等待事件储存到 `event-store`。 +> +> 对于事件流消费者,事件以流的形式推送到 `ReceiveMsgHook` 客户端。此方法类似于 eventmesh client。 -- 在rocketmq 创建主题 TEST-TOPIC-GRPC-RR +- 在 rocketmq 创建主题 TEST-TOPIC-GRPC-RR - 启动 Request-Reply publisher 发送事件 ``` @@ -115,24 +120,24 @@ TCP, HTTP 和 GRPC 示例都在**eventmesh-examples**模块下 ### 3.3 批量事件发布 -> 批量发布多个事件到 eventmesh-runtime. 这是异步操作 +> 异步地批量发布多个事件到 EventMesh Runtime。 -- 在rocketmq 创建主题 TEST-TOPIC-GRPC-ASYNC +- 在 rocketmq 创建主题 TEST-TOPIC-GRPC-ASYNC - 启动 publisher 来批量发布事件 ``` 运行 org.apache.eventmesh.grpc.pub.eventmeshmessage.BatchPublishInstance 的main方法 ``` -更多关于 gRPC 部分的内容,请参考 [EventMesh gRPC](../sdk-java/04-grpc.md) +更多关于 gRPC 部分的内容,请参考 [EventMesh gRPC](../sdk-java/04-grpc.md)。 -## 4. 测试 +## 4. 使用 Shell 脚本运行 Demo 请参考[EventMesh Store](./01-store.md) 和 [EventMesh Runtime](./03-runtime.md) 完成运行环境的部署 完成 store 和 runtime 的部署后,就可以在 eventmesh-examples 模块下运行我们的 demo 来体验 eventmesh 了: -gradle编译: +gradle 编译: ```shell cd apache-eventmesh-1.9.0-src/eventmesh-examples @@ -145,27 +150,29 @@ cd ./dist/bin ### 4.1 TCP -TCP Sub +#### TCP Sub ```shell bash tcp_eventmeshmessage_sub.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_tcp_pub.out ``` -![demo_2](/images/install/demo_2.png) +![demo_2](/images/install/demo_2.png) -TCP Pub +#### TCP Pub ```shell bash tcp_pub_eventmeshmessage.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_tcp_sub.out @@ -175,13 +182,14 @@ tail -f demo_tcp_sub.out ### 4.2 TCP Broadcast -TCP Sub Broadcast +#### TCP Sub Broadcast ```shell sh tcp_sub_eventmeshmessage_broadcast.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_tcp_sub_broadcast.out @@ -189,13 +197,14 @@ tail -f demo_tcp_sub_broadcast.out ![demo_4](/images/install/demo_3.png) -TCP Pub Broadcast +#### TCP Pub Broadcast ```shell sh tcp_pub_eventmeshmessage_broadcast.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_tcp_pub_broadcast.out @@ -205,13 +214,14 @@ tail -f demo_tcp_pub_broadcast.out ### 4.3 HTTP -HTTP Sub +#### HTTP Sub ```shell sh http_sub.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_http_sub.out @@ -219,13 +229,14 @@ tail -f demo_http_sub.out ![demo_6](/images/install/demo_6.png) -HTTP Pub +#### HTTP Pub ```shell sh http_pub_eventmeshmessage.sh ``` -打开对应log文件查看日志: +打开对应 log 文件查看日志: + ``` cd /root/apache-eventmesh-1.9.0-src/eventmesh-examples/dist/logs tail -f demo_http_pub.out diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/02-http.md b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/02-http.md index 0ce80ee406..a42016918d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/02-http.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/02-http.md @@ -1,6 +1,6 @@ # HTTP 协议 -EventMesh Java SDK 实现了 HTTP 异步消息的生产者和消费者。二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh HTTP 客户端的配置信息。其中的 `liteEventMeshAddr`、`userName` 和 `password` 字段需要和 EventMesh runtime `eventmesh.properties` 文件中的相匹配。 +EventMesh Java SDK 实现了 HTTP 异步消息的生产者和消费者。二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh HTTP 客户端的配置信息。其中的 `liteEventMeshAddr`、`userName` 和 `password` 字段需要和 EventMesh Runtime `eventmesh.properties` 文件中的相匹配。 ```java import org.apache.eventmesh.client.http.conf.EventMeshHttpClientConfig; @@ -53,7 +53,7 @@ public class HTTP { } ``` -EventMesh runtime 将发送一个包含 [CloudEvents 格式](https://github.com/cloudevents/spec) 信息的 POST 请求到这个回调的 URL 地址。类 [SubController.java](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/http/demo/sub/controller/SubController.java) 实现了 Spring Boot controller,它将接收并解析回调信息。 +EventMesh Runtime 将发送一个包含 [CloudEvents 格式](https://github.com/cloudevents/spec) 信息的 POST 请求到这个回调的 URL 地址。类 [SubController.java](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/http/demo/sub/controller/SubController.java) 实现了 Spring Boot controller,它将接收并解析回调信息。 ## HTTP 生产者 @@ -93,23 +93,21 @@ public class HTTP { } ``` -## 使用Curl 命令 +## 使用 Curl 命令 -本段落介绍通过Curl命令体验事件的收发功能 +本段落介绍通过 Curl 命令体验事件的收发功能。 ### 事件发送 -启动EventMesh Runtime服务后,可以使用Curl命令将事件用HTTP POST方法发布到指定的主题,Body内容必须是JSON格式,执行命令示例如下: +启动 EventMesh Runtime 服务后,可以使用 Curl 命令将事件用 HTTP POST 方法发布到指定的主题,Body 内容必须是 JSON 格式,执行命令示例如下: ```shell curl -H "Content-Type:application/json" -X POST -d '{"name": "admin", "pass":"12345678"}' http://127.0.0.1:10105/eventmesh/publish/TEST-TOPIC-HTTP-ASYNC ``` - - ### 事件订阅 -启动EventMesh Runtime服务后,可以使用Curl命令用HTTP POST方法订阅指定的主题列表,Body内容必须是JSON格式,执行命令示例如下: +启动 EventMesh Runtime 服务后,可以使用 Curl 命令用 HTTP POST 方法订阅指定的主题列表,Body 内容必须是 JSON 格式,执行命令示例如下: ```shell curl -H "Content-Type:application/json" -X POST -d '{"url": "http://127.0.0.1:8088/sub/test", "consumerGroup":"TEST-GROUP", "topic":[{"mode":"CLUSTERING","topic":"TEST-TOPIC-HTTP-ASYNC","type":"ASYNC"}]}' http://127.0.0.1:10105/eventmesh/subscribe/local diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/03-tcp.md b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/03-tcp.md index 3027b53dc6..4e8f36b971 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/03-tcp.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/03-tcp.md @@ -1,6 +1,6 @@ # TCP 协议 -EventMesh Java SDK 实现了同步、异步和广播 TCP 消息的生产者和消费者。 二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh TCP 客户端的配置信息。其中的 `host` 和 `port` 字段需要和 EventMesh runtime `eventmesh.properties` 文件中的相匹配。 +EventMesh Java SDK 实现了同步、异步和广播 TCP 消息的生产者和消费者。二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh TCP 客户端的配置信息。其中的 `host` 和 `port` 字段需要和 EventMesh Runtime `eventmesh.properties` 文件中的相匹配。 ```java import org.apache.eventmesh.client.tcp.conf.EventMeshTCPClientConfig; diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/04-grpc.md b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/04-grpc.md index ce8d241d41..cf0b92029e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/04-grpc.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/sdk-java/04-grpc.md @@ -1,6 +1,6 @@ # gRPC 协议 -EventMesh Java SDK 实现了 gRPC 同步、异步和广播消息的生产者和消费者。二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh gRPC 客户端的配置信息。其中的 `liteEventMeshAddr`、`userName` 和 `password` 字段需要和 EventMesh runtime `eventmesh.properties` 文件中的相匹配。 +EventMesh Java SDK 实现了 gRPC 同步、异步和广播消息的生产者和消费者。二者都需要一个 `EventMeshHttpClientConfig` 类实例来指定 EventMesh gRPC 客户端的配置信息。其中的 `liteEventMeshAddr`、`userName` 和 `password` 字段需要和 EventMesh Runtime `eventmesh.properties` 文件中的相匹配。 ```java import org.apache.eventmesh.client.grpc.config.EventMeshGrpcClientConfig; @@ -24,7 +24,7 @@ public class CloudEventsAsyncSubscribe implements ReceiveMsgHook { ### 流消费者 -EventMesh runtime 会将来自生产者的信息作为一系列事件流向流消费者发送。消费者应实现 `ReceiveHook` 类,其被定义在 [ReceiveMsgHook.java](https://github.com/apache/eventmesh/blob/master/eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/grpc/consumer/ReceiveMsgHook.java)。 +EventMesh Runtime 会将来自生产者的信息作为一系列事件流向流消费者发送。消费者应实现 `ReceiveHook` 类,其被定义在 [ReceiveMsgHook.java](https://github.com/apache/eventmesh/blob/master/eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/grpc/consumer/ReceiveMsgHook.java)。 ```java public interface ReceiveMsgHook { @@ -77,7 +77,7 @@ public class CloudEventsAsyncSubscribe implements ReceiveMsgHook { ### Webhook 消费者 -类 `EventMeshGrpcConsumer` 的 `subscribe` 方法接收一个 `SubscriptionItem` 对象的列表,其中定义了要订阅的主题和一个可选的 timeout 值。如果提供了回调 URL,EventMesh runtime 将向回调 URL 地址发送一个包含 [CloudEvents 格式](https://github.com/cloudevents/spec) 消息的 POST 请求。[SubController.java](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/grpc/sub/app/controller/SubController.java) 实现了一个接收并解析回调信息的 Spring Boot controller。 +类 `EventMeshGrpcConsumer` 的 `subscribe` 方法接收一个 `SubscriptionItem` 对象的列表,其中定义了要订阅的主题和一个可选的 timeout 值。如果提供了回调 URL,EventMesh Runtime 将向回调 URL 地址发送一个包含 [CloudEvents 格式](https://github.com/cloudevents/spec) 消息的 POST 请求。[SubController.java](https://github.com/apache/eventmesh/blob/master/eventmesh-examples/src/main/java/org/apache/eventmesh/grpc/sub/app/controller/SubController.java) 实现了一个接收并解析回调信息的 Spring Boot controller。 ```java import org.apache.eventmesh.client.grpc.consumer.EventMeshGrpcConsumer; diff --git a/sidebars/docs.js b/sidebars/docs.js index 8b994d5d98..b0d9d06ecc 100644 --- a/sidebars/docs.js +++ b/sidebars/docs.js @@ -20,6 +20,18 @@ module.exports = { tutorialSidebar: [ 'introduction', 'roadmap', + { + type: 'category', + label: 'Installation and Deployment', + collapsible: true, + collapsed: false, + items: [ + { + type: 'autogenerated', + dirName: 'instruction', + }, + ], + }, { type: 'category', label: 'Design Document', @@ -67,18 +79,6 @@ module.exports = { 'design-document/stream', ], }, - { - type: 'category', - label: 'Installation and Deployment', - collapsible: true, - collapsed: false, - items: [ - { - type: 'autogenerated', - dirName: 'instruction', - }, - ], - }, { type: 'category', label: 'EventMesh SDK for Java', diff --git a/versioned_sidebars/version-v1.1.1-sidebars.json b/versioned_sidebars/version-v1.1.1-sidebars.json index 4a9ba07a4d..ccb6b870e4 100644 --- a/versioned_sidebars/version-v1.1.1-sidebars.json +++ b/versioned_sidebars/version-v1.1.1-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -22,18 +34,6 @@ } ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.2.0-sidebars.json b/versioned_sidebars/version-v1.2.0-sidebars.json index 663a367642..ad1c95b459 100644 --- a/versioned_sidebars/version-v1.2.0-sidebars.json +++ b/versioned_sidebars/version-v1.2.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -23,18 +35,6 @@ "design-document/spi" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.3.0-sidebars.json b/versioned_sidebars/version-v1.3.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.3.0-sidebars.json +++ b/versioned_sidebars/version-v1.3.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.4.0-sidebars.json b/versioned_sidebars/version-v1.4.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.4.0-sidebars.json +++ b/versioned_sidebars/version-v1.4.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.5.0-sidebars.json b/versioned_sidebars/version-v1.5.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.5.0-sidebars.json +++ b/versioned_sidebars/version-v1.5.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.6.0-sidebars.json b/versioned_sidebars/version-v1.6.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.6.0-sidebars.json +++ b/versioned_sidebars/version-v1.6.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.7.0-sidebars.json b/versioned_sidebars/version-v1.7.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.7.0-sidebars.json +++ b/versioned_sidebars/version-v1.7.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.8.0-sidebars.json b/versioned_sidebars/version-v1.8.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.8.0-sidebars.json +++ b/versioned_sidebars/version-v1.8.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java", diff --git a/versioned_sidebars/version-v1.9.0-sidebars.json b/versioned_sidebars/version-v1.9.0-sidebars.json index a52eef27b3..c4f2c9c665 100644 --- a/versioned_sidebars/version-v1.9.0-sidebars.json +++ b/versioned_sidebars/version-v1.9.0-sidebars.json @@ -2,6 +2,18 @@ "tutorialSidebar": [ "introduction", "roadmap", + { + "type": "category", + "label": "Installation and Deployment", + "collapsible": true, + "collapsed": false, + "items": [ + { + "type": "autogenerated", + "dirName": "instruction" + } + ] + }, { "type": "category", "label": "Design Document", @@ -37,18 +49,6 @@ "design-document/stream" ] }, - { - "type": "category", - "label": "Installation and Deployment", - "collapsible": true, - "collapsed": false, - "items": [ - { - "type": "autogenerated", - "dirName": "instruction" - } - ] - }, { "type": "category", "label": "EventMesh SDK for Java",