You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eventmesh.apache.org by xi...@apache.org on 2022/04/18 02:36:06 UTC

[incubator-eventmesh] branch docs created (now 02768c1e)

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

xiaoyang pushed a change to branch docs
in repository https://gitbox.apache.org/repos/asf/incubator-eventmesh.git


      at 02768c1e Rewrite the introduction, roadmap, and EventMesh runtime installation guide

This branch includes the following new commits:

     new 02768c1e Rewrite the introduction, roadmap, and EventMesh runtime installation guide

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: commits-help@eventmesh.apache.org


[incubator-eventmesh] 01/01: Rewrite the introduction, roadmap, and EventMesh runtime installation guide

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoyang pushed a commit to branch docs
in repository https://gitbox.apache.org/repos/asf/incubator-eventmesh.git

commit 02768c1eb814d130614f55b133d81d1559410476
Author: Xiaoyang Liu <si...@gmail.com>
AuthorDate: Sun Apr 17 19:35:56 2022 -0700

    Rewrite the introduction, roadmap, and EventMesh runtime installation guide
    
    Signed-off-by: Xiaoyang Liu <si...@gmail.com>
---
 docs/en/instructions/01-eventmesh-runtime.md       |  90 +++++++++++++++++
 .../instructions/eventmesh-runtime-quickstart.md   | 110 ---------------------
 docs/en/intro.md                                   |  19 ----
 docs/en/introduction.md                            |  46 +++++++++
 docs/en/roadmap.md                                 |  66 +++++--------
 5 files changed, 163 insertions(+), 168 deletions(-)

diff --git a/docs/en/instructions/01-eventmesh-runtime.md b/docs/en/instructions/01-eventmesh-runtime.md
new file mode 100644
index 00000000..fa2816a7
--- /dev/null
+++ b/docs/en/instructions/01-eventmesh-runtime.md
@@ -0,0 +1,90 @@
+# EventMesh Runtime
+
+EventMesh Runtime is the core component of Apache EventMesh (Incubating). It is the middleware that transmits events between producers and consumers. The documentation introduces the step to install and start the latest release of EventMesh Runtime in the local or test environment. The EventMesh Runtime requires a Linux-based system with JDK (Java Development Kit) 8. JDK 8 could be installed with the system package manager or the [openjdk:8-jdk](https://hub.docker.com/_/openjdk) Docker image.
+
+```console
+# Debian, Ubuntu, etc.
+apt-get install openjdk-8-jdk
+
+# Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
+yum install java-1.8.0-openjdk-devel
+
+# Docker
+docker pull openjdk:8-jdk
+```
+
+## Install Executable Binaries
+
+Download and extract the executable binaries of the latest release (v1.4.0) from [GitHub releases](https://github.com/apache/incubator-eventmesh/releases).
+
+```console
+wget https://github.com/apache/incubator-eventmesh/releases/download/v1.4.0/apache-eventmesh-1.4.0-incubating-bin.tar.gz
+
+tar -xvzf apache-eventmesh-1.4.0-incubating-bin.tar.gz
+```
+
+Edit the `eventmesh.properties` to change the configuration (e.g. TCP port, client blacklist) of EventMesh Runtime. The executable binaries contain all plugins in the bundle, thus there's no need to build them from source code.
+
+```console
+cd apache-eventmesh-1.4.0-incubating
+vim conf/eventmesh.properties
+```
+
+Execute the `start.sh` script to start the EventMesh Runtime server.
+
+```console
+bash bin/start.sh
+```
+
+## Build from Source Code
+
+Gradle is the build automation tool used by Apache EventMesh (Incubating). Please refer to the [offical guide](https://docs.gradle.org/current/userguide/installation.html) to install the latest release of Gradle.
+
+Download and extract the source code of the latest release (v1.4.0) from [GitHub releases](https://github.com/apache/incubator-eventmesh/releases).
+
+```console
+wget https://github.com/apache/incubator-eventmesh/archive/refs/tags/v1.4.0.tar.gz
+
+tar -xvzf v1.4.0.tar.gz
+```
+
+Build the source code with Gradle.
+
+```console
+cd incubator-eventmesh-1.4.0
+gradle clean build
+```
+
+Edit the `eventmesh.properties` to change the configuration (e.g. TCP port, client blacklist) of EventMesh Runtime.
+
+```console
+cd dist
+vim conf/eventmesh.properties
+```
+
+Execute the `start.sh` script to start the EventMesh Runtime server.
+
+```console
+bash bin/start.sh
+```
+
+### Build and Load Plugins
+
+Apache EventMesh (Incubating) introduces the SPI (Service Provider Interface) mechanism, which enables EventMesh to discover and load the plugins at runtime. The plugins could be installed with these methods:
+
+- Gradle Dependencies: Declare the plugins as the build dependencies in `eventmesh-starter/build.gradle`.
+
+```gradle
+dependencies {
+   implementation project(":eventmesh-runtime")
+
+   // Example: Load the RocketMQ plugin
+   implementation project(":eventmesh-connector-plugin:eventmesh-connector-rocketmq")
+}
+```
+
+- Plugin directory: EventMesh loads the plugins in the `dist/plugin` directory based on `eventmesh.properties`. The `installPlugin` task of Gradle builds and moves the plugins into the `dist/plugin` directory.
+
+```console
+gradle installPlugin
+```
diff --git a/docs/en/instructions/eventmesh-runtime-quickstart.md b/docs/en/instructions/eventmesh-runtime-quickstart.md
deleted file mode 100644
index 2c38bd24..00000000
--- a/docs/en/instructions/eventmesh-runtime-quickstart.md
+++ /dev/null
@@ -1,110 +0,0 @@
-# Eventmesh-runtime Quick start Instruction
-
-## 1 Remote Deploy
-
-### 1.1 Dependencies
-
-```
-64bit OS, Linux/Unix is recommended;
-64bit JDK 1.8+;
-Gradle at least 7.0, eg 7.0.*
-```
-
-### 1.2 download sources
-
-download source code from [https://github.com/apache/incubator-eventmesh](https://github.com/apache/incubator-eventmesh)
-You will get **EventMesh-master.zip**
-
-### 1.3 build sources
-
-```$xslt
-unzip EventMesh-master.zip
-cd /*YOUR DEPLOY PATH*/EventMesh-master
-gradle clean dist
-```
-
-You will get **EventMesh_1.3.0-release.tar.gz** in directory /*YOUR DEPLOY PATH*/EventMesh-master/build
-
-### 1.4 Deployment
-
-- deploy eventmesh-runtime
-
-```shell
-tar -zxvf Eventmesh_1.3.0-release.tar.gz
-cd conf
-config your eventMesh.properties
-cd ../bin
-sh start.sh
-tail -f ./logs/eventmesh.out
-EventMeshTCPServer[port=10000] started
-
-HTTPServer[port=10105] started
-
-EventMeshGrpcServer[port=10205] started
-```
-
-## 2 Run Locally
-
-### 2.1 dependencies
-
-Same with 1.1, but it can be only compiled in JDK 1.8
-
-### 2.2 download sources
-
-Same with 1.2
-
-### 2.3 Configuration
-
-**2.3.1 Configure plugin**
-
-***2.3.1.1 Install Plugin***
-
-There are two ways to install the plugin:
-
-- Install from classpath: Local development can be done by declaring in the eventmesh-starter module build.gradle, for example
- by declaring the use of rocketmq plugin
-
-```java
-   implementation project(":eventmesh-connector-plugin:eventmesh-connector-rocketmq")
-```
-
-- Install from files: By installing the plugin into the plugin directory, EventMesh will automatically load the plugins in the plugin directory
- according to the conditions when EventMesh running, you can install the plugins by executing the following command.
-
-```shell
-./gradlew clean jar dist && ./gradlew installPlugin
-```
-
-***2.3.1.2 Use Plugin***
-
-EventMesh will default load plugins installed in `dist/plugin`, you can change the plugin directory by `-DeventMeshPluginDir=your_plugin_directory`.
-The plugin instance to be used at runtime can be configured in the `eventmesh.properties` at the `confPath` directory.
-Example you can declare use rocketmq by following config.
-
-```java
-#connector plugin, default standalone, can be rocketmq
-eventMesh.connector.plugin.type=rocketmq
-```
-
-**2.3.2 Configure VM Options**
-
-```java
--Dlog4j.configurationFile=eventmesh-runtime/conf/log4j2.xml
--Deventmesh.log.home=eventmesh-runtime/logs
--Deventmesh.home=eventmesh-runtime/dist
--DconfPath=eventmesh-runtime/conf
-```
-
-> ps: If you use Windows, you may need to replace the file separator to \
-
-**2.3.3 Run**
-
-```java
-running `org.apache.eventmesh.starter.StartUp` main method in eventmesh-starter module.
-
-EventMeshTCPServer[port=10000] started
-
-HTTPServer[port=10105] started
-
-EventMeshGrpcServer[port=10205] started
-```
diff --git a/docs/en/intro.md b/docs/en/intro.md
deleted file mode 100644
index 330bc00c..00000000
--- a/docs/en/intro.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Apache EventMesh (Incubating)
-
-![logo](../../docs/images/logo2.png)
-
-## Features
-
-### [SPI](features/spi.md)
-
-### [protocol](instructions/eventmesh-runtime-protocol.md)
-
-### [cloudevents](features/eventmesh-cloudevents-sdk-binding.md)
-
-### [trace](features/eventmesh-trace-design.md)
-
-### [metrics](features/eventmesh-metrics-export-design.md)
-
-### [SchemaRegistry](features/eventmesh-schemaregistry-design.md)
-
-### [Workflow](features/eventmesh-workflow-design.md)
diff --git a/docs/en/introduction.md b/docs/en/introduction.md
new file mode 100644
index 00000000..98a48491
--- /dev/null
+++ b/docs/en/introduction.md
@@ -0,0 +1,46 @@
+---
+sidebar_position: 0
+---
+
+# Introduction to EventMesh
+
+[![CI status](https://img.shields.io/github/workflow/status/apache/incubator-eventmesh/Continuous%20Integration?logo=github&style=for-the-badge)](https://github.com/apache/incubator-eventmesh/actions/workflows/ci.yml)
+[![CodeCov](https://img.shields.io/codecov/c/gh/apache/incubator-eventmesh/master?logo=codecov&style=for-the-badge)](https://codecov.io/gh/apache/incubator-eventmesh)
+[![Code Quality: Java](https://img.shields.io/lgtm/grade/java/g/apache/incubator-eventmesh.svg?logo=lgtm&logoWidth=18&style=for-the-badge)](https://lgtm.com/projects/g/apache/incubator-eventmesh/context:java)
+[![Total Alerts](https://img.shields.io/lgtm/alerts/g/apache/incubator-eventmesh.svg?logo=lgtm&logoWidth=18&style=for-the-badge)](https://lgtm.com/projects/g/apache/incubator-eventmesh/alerts/)
+[![License](https://img.shields.io/github/license/apache/incubator-eventmesh?style=for-the-badge)](https://www.apache.org/licenses/LICENSE-2.0.html)
+[![GitHub Release](https://img.shields.io/github/v/release/apache/eventmesh?style=for-the-badge)](https://github.com/apache/incubator-eventmesh/releases)
+[![Slack Status](https://img.shields.io/badge/slack-join_chat-blue.svg?logo=slack&style=for-the-badge)](https://join.slack.com/t/apacheeventmesh/shared_invite/zt-16y1n77va-q~JepYy3RqpkygDYmQaQbw)
+
+**Apache EventMesh (Incubating)** is a dynamic event-driven application runtime used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.
+
+## What is Event Mesh
+
+[Event Mesh](https://solace.com/what-is-an-event-mesh) is an architecture layer that provides dynamic distribution of events, thus event consumers could receive events from any event producer, no matter where the producer and consumer are attached to the mesh, without the need for configuration of event routing. It is enabled by a network of interconnected [event brokers](https://solace.com/what-is-an-event-broker/) and bridges applications and services in an [event-driven architecture]( [...]
+
+## Features
+
+- **Communication Protocol**: EventMesh is able to communicate with clients with TCP, HTTP, or gRPC.
+- **CloudEvents**: EventMesh supports the [CloudEvents](https://cloudevents.io) specification as the format of the events. CloudEvents is a specification for describing event data in common formats to provide interoperability across services, platforms and systems.
+- **Schema Registry**: EventMesh implements a schema registry that receives and stores schemas from clients and provides interface for other clients to retrieve schemas.
+- **Observability**: EventMesh exposed a range of metrics, such as the average latency of the HTTP protocol and the number of delivered messages. The metrics could be collected and analyzed with Prometheus or OpenTelemetry.
+- **Event Workflow Orchestration**: EventMesh Workflow is able to receive an event and decide which command to trigger next based on the workflow definitions and the current workflow state. The workflow definition could be written with the [Serverless Workflow](https://serverlessworkflow.io) DSL.
+
+## Components
+
+Apache EventMesh (Incubating) consists of multiple components that integrate different middlewares and messaging protocols to enhance the functionalities of the application runtime.
+
+- **eventmesh-runtime**: The middleware that transmits events between producers and consumers, which supports cloud-native apps and microservices.
+- **eventmesh-sdk-java**: The Java SDK that supports HTTP, HTTPS, TCP, and [gRPC](https://grpc.io) protocols.
+- **eventmesh-connector-plugin**: The collection of plugins that connects middlewares such as [Apache Kafka](https://kafka.apache.org), [Apache RocketMQ](https://rocketmq.apache.org), [Apache Pulsar](https://pulsar.apache.org/), and [Redis](https://redis.io).
+- **eventmesh-registry-plugin**: The collection of plugins that integrate service registries such as [Nacos](https://nacos.io) and [etcd](https://etcd.io).
+- **eventmesh-security-plugin**: The collection of plugins that implement security mechanisms, such as ACL (access control list), authentication, and authorization.
+- **eventmesh-protocol-plugin**: The collection of plugins that implement messaging protocols, such as [CloudEvents](https://cloudevents.io) and [MQTT](https://mqtt.org).
+- **eventmesh-admin**: The control plane that manages clients, topics, and subscriptions.
+
+## Contributors
+
+Each contributor has played an important role in promoting the robust development of Apache EventMesh (Incubating). We sincerely appreciate all contributors who have contributed code and documents. The following is the list of contributors in EventMesh-related repositories.
+
+- [apache/incubator-eventmesh](https://github.com/apache/incubator-eventmesh/graphs/contributors)
+- [apache/incubator-eventmesh-site](https://github.com/apache/incubator-eventmesh-site/graphs/contributors)
diff --git a/docs/en/roadmap.md b/docs/en/roadmap.md
index 39f34ac2..e890da3f 100644
--- a/docs/en/roadmap.md
+++ b/docs/en/roadmap.md
@@ -1,39 +1,27 @@
-# EventMesh Roadmap
-
-_Note: Items in tables for each milestone do not imply an order of implementation._
-
-_Status description:_
-
-| Completed | In Progress | In Planning | On Hold |
-| :--: | :--: |  :--: | :--: |
-| ✔ | ✏️ | 🚩 | ❗️|
-
-## Releases
-
-- [Roadmap for next planned release](#plan)
-- [v1.4.0 released 31 Mar 2022](https://github.com/apache/incubator-eventmesh/releases/tag/v1.4.0)
-- [v1.3.0 released 12 Dec 2021](https://github.com/apache/incubator-eventmesh/releases/tag/v1.3.0)
-- [v1.2.0 released 31 Jul 2021](https://github.com/apache/incubator-eventmesh/releases/tag/v1.2.0)
-- [v1.1.1 released 11 Nov 2020](https://github.com/apache/incubator-eventmesh/releases/tag/v1.1.1)
-- [v1.1.0 released 16 Sep 2020](https://github.com/apache/incubator-eventmesh/releases/tag/v1.1.0)
-- [v1.0.0 released 20 Aug 2020](https://github.com/apache/incubator-eventmesh/releases/tag/v1.0.0)
-
-## <a name="plan"></a> Next planned release
-
-| Status | Description | Comments |
-| --- | --- |  --- |
-| ✔| A lightable full-featured polyglot capability support | [doc](https://github.com/apache/incubator-eventmesh/issues/417)  |
-| ✏️| Event Governance for choreography | [doc](https://github.com/apache/incubator-eventmesh/blob/master/docs/en/features/eventmesh-workflow-design.md)  |
-| 🚩| Event Streaming | [doc](https://github.com/apache/incubator-eventmesh/issues/676)  |
-| 🚩| Federated connector | [doc](https://github.com/apache/incubator-eventmesh/issues/577)  |
-| 🚩| Dashboard | [doc](https://github.com/apache/incubator-eventmesh/issues/700)  |
-| 🚩| Transaction event | [doc](https://github.com/apache/incubator-eventmesh/issues/697)  |
-| 🚩| Event-query language(EQL)| [doc](https://github.com/apache/incubator-eventmesh/issues/778)  |
-| 🚩| Knative Eventing Infra| [doc](https://github.com/apache/incubator-eventmesh/issues/790)  |
-| 🚩| Metadata consistency persistent| [doc](https://github.com/apache/incubator-eventmesh/issues/817)  |
-| 🚩| Go sdk| [doc](https://github.com/apache/incubator-eventmesh/issues/762)  |
-| 🚩| Rust sdk| [doc](https://github.com/apache/incubator-eventmesh/issues/815)  |
-| 🚩| Wasm runtime| [doc](https://github.com/apache/incubator-eventmesh/issues/576)  |
-| 🚩| Filter Chain| [doc](https://github.com/apache/incubator-eventmesh/issues/664)  |
-| 🚩| kafka as eventStore| [doc](https://github.com/apache/incubator-eventmesh/issues/199)  |
-| 🚩| Redis as eventStore| [doc](https://github.com/apache/incubator-eventmesh/issues/389)  |
+---
+sidebar_position: 1
+---
+
+# Development Roadmap
+
+The development roadmap of Apache EventMesh (Incubating) is an overview of the planned features and milestones involved in the next several releases. The recent features and bug fixes are documented in the [release notes](https://eventmesh.apache.org/events/release-notes/v1.4.0). The order of the features listed below doesn't correspond to their priorities.
+
+## List of Features and Milestones
+
+| Status | Description | Reference |
+| --- | --- |  --- |
+| **Implemented** | gRPC Integration | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/417) |
+| **In Progress** | Event Governance for Choreography | [GitHub Issue](https://github.com/apache/incubator-eventmesh/blob/master/docs/en/features/eventmesh-workflow-design.md) |
+| Planned | Knative Eventing Infrastructure | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/790), [GSoC '22](https://issues.apache.org/jira/browse/COMDEV-463) |
+| Planned | Dashboard | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/700), [GSoC '22](https://issues.apache.org/jira/browse/COMDEV-465) |
+| Planned | Event Streaming | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/676) |
+| Planned | Federated Connector | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/577) |
+| Planned | Transaction Event | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/697) |
+| Planned | Event Query Language (EQL)| [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/778) |
+| Planned | Metadata consistency persistent| [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/817)  |
+| Planned | Go SDK | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/762) |
+| Planned | Rust SDK | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/815) |
+| Planned | WebAssembly Runtime| [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/576) |
+| Planned | Filter Chain | [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/664) |
+| Planned | Kafka-based EventStore| [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/199) |
+| Planned | Redis-based EventStore| [GitHub Issue](https://github.com/apache/incubator-eventmesh/issues/389) |


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: commits-help@eventmesh.apache.org