Skip to content

Commit

Permalink
update some docs
Browse files Browse the repository at this point in the history
Signed-off-by: qqeasonchen <qqeasonchen@gmail.com>
  • Loading branch information
qqeasonchen committed Dec 20, 2021
1 parent b946360 commit faf1fc1
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 232 deletions.
101 changes: 16 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,105 +13,36 @@
## What is EventMesh?
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.

![architecture1](docs/images/eventmesh-multi-runtime.png)
**Multi-runtime:**
![architecture1](docs/images/eventmesh-arch3.png)

**EventMesh Architecture:**
**Orchestration:**
![architecture1](docs/images/eventmesh-orchestration.png)

![architecture1](docs/images/eventmesh-runtime2.png)
**Federation:**
![architecture1](docs/images/eventmesh-federation.png)

**Components:**

* **eventmesh-runtime** : an middleware to transmit events between event producers and consumers, support cloud native apps and microservices.
* **eventmesh-sdk-java** : currently supports HTTP and TCP protocols.
* **eventmesh-connector-api** : an api layer based on OpenMessaging api and SPI pluggin, which can be implemented by popular EventStores such as IMDG, Messaging Engine and OSS etc.
* **eventmesh-connector-plugin** : plugins for connector.
* **eventmesh-connector-standalone** : an implementation of eventmesh-connector-api, pub event to or sub event from InMemory as EventStore.
* **eventmesh-connector-rocketmq** : an implementation of eventmesh-connector-api, pub event to or sub event from RocketMQ as EventStore.
* **eventmesh-connector-kafka(WIP)** : an implementation of eventmesh-connector-api, pub event to or sub event from Kafka as EventStore.
* **eventmesh-connector-redis(WIP)** : an implementation of eventmesh-connector-api, pub event to or sub event from Redis as EventStore.
* **eventmesh-connector-defibus(WIP)** : an implementation of eventmesh-connector-api, pub event to or sub event from [DeFiBus](https://github.com/webankfintech/defibus) as EventStore
* **eventmesh-connector-plugin** : plugins for connect a middleware such as RocketMQ/Kafka/Redis/Pulsar etc.
* **eventmesh-registry-plugin** : plugins for registry adapter, such as Nacos/Etcd.
* **eventmesh-security-plugin** : plugins for security adpater, such as ACL/Authentication/Authorization.
* **eventmesh-protocol-plugin** : plugins for protocol adapter, such as CloudEvents/MQTT.
* **eventmesh-admin** : clients,topics,subscriptions and other management.
* **eventmesh-registry-plugin** : plugins for registry adapter.
* **eventmesh-security-plugin** : plugins for security adpater.
* **eventmesh-protocol-plugin** : plugins for protocol adapter.

**Protocol:**

The protocol of eventmesh is easier and more convenient, you can read more [here](docs/en/instructions/eventmesh-runtime-protocol.md)

## Feature

Event & Service
- [x] Pub/Sub
- [x] Request/Reply
- [ ] Event Streaming
- [ ] Event transaction
- [ ] At-least-once/at-most-once delivery guarantees

Store Connector
- [x] RocketMQ
- [x] InMemory
- [ ] Federated
- [ ] Kafka
- [ ] Redis
- [ ] Pulsar
- [ ] RabbitMQ
- [ ] DeFiBus
- [ ] Cold storage (S3, Minio, SQL, key/value, etc...)

Protocol
- [x] TCP
- [x] Http
- [ ] gRPC
- [ ] CloudEvents
- [ ] MQTT
- [ ] WebSocket
- [ ] AMQP
- [ ] AsyncAPI

SDK
- [x] Java
- [ ] C
- [ ] Go
- [ ] Python

Deploy
- [x] Sidecar
- [x] Gateway
- [x] Docker

Metrics
- [x] OpenTelemetry
- [x] Promethus exporter

Tracing
- [x] OpenTelemetry
- [x] Zipkin exporter
- [ ] Skywalking

Governance
- [x] Client management
- [ ] Topic management
- [ ] Metadata registry
- [ ] Schema registry
- [ ] Dynamic config

Choreography
- [ ] Servelss workflow
- [ ] Event function,triggers and bindings

Security
- [ ] Auth
- [ ] ACL

Runtime
- [ ] WebAssembly runtime

## Quick Start
1. [Store quickstart](docs/en/instructions/eventmesh-store-quickstart.md)
2. [Runtime quickstart](docs/en/instructions/eventmesh-runtime-quickstart.md) or [Runtime quickstart with docker](docs/en/instructions/eventmesh-runtime-quickstart-with-docker.md).
3. [Java SDK examples](docs/en/instructions/eventmesh-sdk-java-quickstart.md).

## Documentation
See EventMesh [Documentation](docs/en/intro.md) for all documents.

## Roadmap
See EventMesh [Roadmap](docs/en/roadmap.md) for details.

## Contributing
Contributions are always welcomed! Please see [CONTRIBUTING](CONTRIBUTING.md) for detailed guidelines.

Expand Down
79 changes: 25 additions & 54 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,63 +10,34 @@
## 什么是Event Mesh?
EventMesh是一个动态的云原生事件驱动架构基础设施,用于分离应用程序和后端中间件层,它支持广泛的用例,包括复杂的混合云、使用了不同技术栈的分布式架构。

![architecture1](docs/images/eventmesh-multi-runtime.png)
**多运行时:**
![architecture1](docs/images/eventmesh-arch3.png)

**EventMesh生态:**
![architecture1](docs/images/eventmesh-define.png)
**编排:**
![architecture1](docs/images/eventmesh-orchestration.png)

**EventMesh架构:**
**联邦:**
![architecture1](docs/images/eventmesh-federation.png)

![architecture1](docs/images/eventmesh-runtime.png)
**组件:**
* **eventmesh-runtime** : an middleware to transmit events between event producers and consumers, support cloud native apps and microservices.
* **eventmesh-sdk-java** : currently supports HTTP and TCP protocols.
* **eventmesh-connector-plugin** : plugins for connect a middleware such as RocketMQ/Kafka/Redis/Pulsar etc.
* **eventmesh-registry-plugin** : plugins for registry adapter, such as Nacos/Etcd.
* **eventmesh-security-plugin** : plugins for security adpater, such as ACL/Authentication/Authorization.
* **eventmesh-protocol-plugin** : plugins for protocol adapter, such as CloudEvents/MQTT.
* **eventmesh-admin** : clients,topics,subscriptions and other management.

**EventMesh云原生结构:**

![architecture2](docs/images/eventmesh-panels.png)

**支持连接的事件存储:**

* [RocketMQ](https://github.com/apache/rocketmq):RocketMQ是一个分布式消息流平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可伸缩性。

**关键部件:**

* **eventmesh-runtime**:一种中间件,用于在事件产生者和使用者之间传输事件,支持云原生应用程序和微服务
* **eventmesh-sdk-java**:当前支持HTTP和TCP协议,未来会支持gRPC等
* **eventmesh-connector-api**:一个基于OpenMessaging api和SPI插件机制的接口层,可以有很多不同的事件存储的实现,比如IMDG,Messaging Engine和OSS等
* **eventmesh-connector-rocketmq** : 一种基于eventmesh-connector-api的实现,该实现支持将RocketMQ作为事件存储,实现事件的发布与订阅

**通信协议:**
## 快速开始
1. [Store quickstart](docs/en/instructions/eventmesh-store-quickstart.md)
2. [Runtime quickstart](docs/en/instructions/eventmesh-runtime-quickstart.md) or [Runtime quickstart with docker](docs/en/instructions/eventmesh-runtime-quickstart-with-docker.md).
3. [Java SDK examples](docs/en/instructions/eventmesh-sdk-java-quickstart.md).

eventmesh的通信协议更加简洁方便,详细内容,阅读更多[这里](docs/cn/instructions/eventmesh-runtime-protocol.md)
## 文档
查看EventMesh [Documentation](docs/en/intro.md) 所有文档.

## RoadMap
| version | feature |
| ---- | ---- |
| v1.0.0 |Support java-sdk , tcp pub/sub, http pub|
| v1.1.0 |Support RocketMQ as eventstore|
| v1.1.1 |Support https|
| v1.2.0 |Support pluggable event store by OpenMessaging Pub/Sub API, http sub, docker|
| V1.3.0 |Support CloudEvents, event streaming|
| WIP |Support more pluggable event storage (Kafka, Pulsar, Redis, etc...)|
| WIP |Support Event schema|
| WIP |Support Event governance|
| WIP |Support Event function,triggers and bindings|
| WIP |Support Event orchestration, Servelss workflow|
| WIP |Support in-memory event store|
| WIP |Support Event transaction|
| WIP |Support Event security|
| WIP |Support multi language SDK(c\go\python\wasm)|
| WIP |Support metrics exporter|
| WIP |Support tracing exporter|
| WIP |Support at-least-once/at-most-once delivery guarantees|
| WIP |Support cold event storage (S3, Minio, SQL, key/value, etc...)|
| WIP |Support gRPC protocol|
| WIP |Support MQTT protocol|
| WIP |Support AsyncAPI|

## 快速开始
1. [event-store](https://rocketmq.apache.org/docs/quick-start/) (RocketMQ, ignore this step if use standalone).
2. [runtime quickstart](docs/en/instructions/eventmesh-runtime-quickstart.md) or [runtime quickstart with docker](docs/en/instructions/eventmesh-runtime-quickstart-with-docker.md).
3. [java examples ](docs/en/instructions/eventmesh-sdk-java-quickstart.md).
## Roadmap
查看EventMesh [Roadmap](docs/en/roadmap.md) 特性规划.

## 贡献
永远欢迎参与共建, 请参阅[贡献](CONTRIBUTING.zh-CN.md)了解详细指南
Expand All @@ -86,9 +57,9 @@ EventMesh enriches the <a href="https://landscape.cncf.io/serverless?license=apa
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) Copyright (C) Apache Software Foundation

## 开发社区
微信群:

![wechat_qr](docs/images/mesh-helper.png)
| 微信助手 | 微信公众号 | Slack |
| :----------------------------------------------------: | :----------------------------------------------------: | :----------------------------------------------------: |
| ![wechat_qr](docs/images/mesh-helper.jpg) | ![wechat_official_qr](docs/images/wechat-official.png) |[加入slack](https://join.slack.com/t/apacheeventmesh/shared_invite/zt-yx3n2ak7-HcVG98CDqb~7PwgoDzgfMA) |

Mailing Lists:

Expand Down
93 changes: 0 additions & 93 deletions docs/en/intro.md
Original file line number Diff line number Diff line change
@@ -1,93 +0,0 @@
# Apache EventMesh (Incubating)
[![CI status](https://github.com/apache/incubator-eventmesh/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/incubator-eventmesh/actions/workflows/ci.yml)
[![CodeCov](https://codecov.io/gh/apache/incubator-eventmesh/branch/develop/graph/badge.svg)](https://codecov.io/gh/apache/incubator-eventmesh)
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/apache/incubator-eventmesh.svg?logo=lgtm&logoWidth=18)](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)](https://lgtm.com/projects/g/apache/incubator-eventmesh/alerts/)
[![GitHub release](https://img.shields.io/badge/release-download-orange.svg)](https://github.com/apache/incubator-eventmesh/releases)
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)

[点我查看中文版](../cn/README.md)

## What is Event Mesh?

This figure shows the positioning of the event mesh relative to other similar technologies (such as service mesh) in the
application framework.

![architecture1](../images/eventmesh-define.png)

Event Mesh is a dynamic plug-in cloud-native basic service layer used to decouple the application and middleware layer.
It provides flexible, reliable and fast event distribution, and can be managed.

![architecture1](../images/eventmesh-runtime.png)

Cloud Native Event Mesh:

![architecture2](../images/eventmesh-panels.png)

The event mesh allows events from one application to be dynamically routed to any other application. General functions
of the event mesh:

* Event driven;
* Event governance;
* Dynamic routing;
* Cloud native

Dependent components:

* DeFiBus : a distributed messaging platform with low latency, high performance and reliability, flexible
scalability. [DeFiBus](https://github.com/WeBankFinTech/DeFiBus)
* RocketMQ

Key components:

* eventmesh-runtime : an middleware to transmit events between event producers and consumers, support cloud native apps
and microservices
* eventmesh-sdk-java : currently supports HTTP and TCP protocols, and will support gRPC in the future

## RoadMap

| version | feature |
| ---- | ---- |
| v1.0.0 |Support DeFiBus as eventstore, support pub/sub, http api, java-sdk|
| v1.1.0 |Support rocketmq as eventstore|
| v1.2.0 |Support Plug-in architecture, support http sub|
| v1.3.0 |Support cloud event protocal|
| |Support transaction event|
| |Support Event Sourcing|
| |Support Event orchestration|
| |Support Dashboard|
| |Support Event governance|
| |Support Nacos as an event router|
| |Support Promethus|
| |Support Skywalking|
| |Support Spiffe|
| |Support gRPC|
| |Support c/go/python/nodejs SDK|

## Quick Start

1. Build and deploy event-store([DeFiBus](https://github.com/WeBankFinTech/DeFiBus)), see
instruction ['event-store quickstart'](instructions/eventmesh-store-quickstart.md).
2. Build and deploy eventmesh-runtime, see
instruction ['eventmesh-runtime quickstart'](instructions/eventmesh-runtime-quickstart.md).
3. Run eventmesh-sdk-java demo, see
instruction ['eventmesh-sdk-java quickstart'](instructions/eventmesh-sdk-java-quickstart.md).

## Contributing

Contributions are always welcomed! Please see [CONTRIBUTING](../../CONTRIBUTING.md) for detailed guidelines

You can start with the issues labeled with good first issue.
[GitHub Issues](https://github.com/apache/incubator-eventmesh/issues)

## License

[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) Copyright (C) Apache Software Foundation

## Contacts

WeChat group:

![wechat_qr](../images/mesh-helper.png)


Empty file added docs/en/roadmap.md
Empty file.
Binary file added docs/images/eventmesh-arch3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/eventmesh-federation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/eventmesh-orchestration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit faf1fc1

Please sign in to comment.