Home

Awesome

<div align="center">

<br /><br /> <img src="resources/logo.png" width="256"> <br />

CI status CodeCov Code Quality: Java Total Alerts

License GitHub Release Slack Status

đŸ“Ļ Documentation | 📔 Examples | ⚙ī¸ Roadmap | 🌐 įŽ€äŊ“中文

</div>

Apache EventMesh

Apache EventMesh is a new generation serverless event middleware for building distributed event-driven applications.

EventMesh Architecture

EventMesh Architecture

EventMesh K8S deployment

EventMesh Operator

Features

Apache EventMesh has a vast amount of features to help users achieve their goals. Let us share with you some of the key features EventMesh has to offer:

Roadmap

Please go to the roadmap to get the release history and new features of Apache EventMesh.

Subprojects

Quick start

This section of the guide will show you the steps to deploy EventMesh from Local, Docker, K8s.

This section guides the launch of EventMesh according to the default configuration, if you need more detailed EventMesh deployment steps, please visit the EventMesh official document.

Deployment Event Store

EventMesh supports multiple Event Stores, the default storage mode is standalone, and does not rely on other event stores as layers.

Run EventMesh Runtime locally

1. Download EventMesh

Download the latest version of the Binary Distribution from the EventMesh Download page and extract it:

wget https://dlcdn.apache.org/eventmesh/1.10.0/apache-eventmesh-1.10.0-bin.tar.gz
tar -xvzf apache-eventmesh-1.10.0-bin.tar.gz
cd apache-eventmesh-1.10.0

2. Run EventMesh

Execute the start.sh script to start the EventMesh Runtime server.

bash bin/start.sh

View the output log:

tail -n 50 -f logs/eventmesh.out

When the log output shows server state:RUNNING, it means EventMesh Runtime has started successfully.

You can stop the run with the following command:

bash bin/stop.sh

When the script prints shutdown server ok!, it means EventMesh Runtime has stopped.

Run EventMesh Runtime in Docker

1. Pull EventMesh Image

Use the following command line to download the latest version of EventMesh:

sudo docker pull apache/eventmesh:latest

2. Run and Manage EventMesh Container

Use the following command to start the EventMesh container:

sudo docker run -d --name eventmesh -p 10000:10000 -p 10105:10105 -p 10205:10205 -p 10106:10106 -t apache/eventmesh:latest

Enter the container:

sudo docker exec -it eventmesh /bin/bash

view the log:

cd logs
tail -n 50 -f eventmesh.out

Run EventMesh Runtime in Kubernetes

1. Deploy operator

Run the following commands(To delete a deployment, simply replace deploy with undeploy):

$ cd eventmesh-operator && make deploy

Run kubectl get pods 、kubectl get crd | grep eventmesh-operator.eventmeshto see the status of the deployed eventmesh-operator.

$ kubectl get pods
NAME                                  READY   STATUS    RESTARTS   AGE
eventmesh-operator-59c59f4f7b-nmmlm   1/1     Running   0          20s

$ kubectl get crd | grep eventmesh-operator.eventmesh
connectors.eventmesh-operator.eventmesh   2024-01-10T02:40:27Z
runtimes.eventmesh-operator.eventmesh     2024-01-10T02:40:27Z

2. Deploy EventMesh Runtime

Execute the following command to deploy runtime, connector-rocketmq (To delete, simply replace create with delete):

$ make create

Run kubectl get pods to see if the deployment was successful.

NAME                                  READY   STATUS    RESTARTS   AGE
connector-rocketmq-0                  1/1     Running   0          9s
eventmesh-operator-59c59f4f7b-nmmlm   1/1     Running   0          3m12s
eventmesh-runtime-0-a-0               1/1     Running   0          15s

Contributing

Each contributor has played an important role in promoting the robust development of Apache EventMesh. We sincerely appreciate all contributors who have contributed code and documents.

Here is the List of Contributors, thank you all! :)

<a href="https://github.com/apache/eventmesh/graphs/contributors"> <img src="https://contrib.rocks/image?repo=apache/eventmesh&max=2000" /> </a>

CNCF Landscape

<div align="center"> <img src="https://landscape.cncf.io/images/left-logo.svg" width="150"/> <img src="https://landscape.cncf.io/images/right-logo.svg" width="200"/>

Apache EventMesh enriches the <a href="https://landscape.cncf.io/serverless?license=apache-license-2-0">CNCF Cloud Native Landscape.</a>

</div>

License

Apache EventMesh is licensed under the Apache License, Version 2.0.

Community

WeChat AssistantWeChat Public AccountSlack
<img src="resources/wechat-assistant.jpg" width="128"/><img src="resources/wechat-official.jpg" width="128"/>Join Slack Chat(Please open an issue if this link is expired)

Bi-weekly meeting : #Tencent meeting : 346-6926-0133

Bi-weekly meeting record : bilibili

Mailing List

NameDescriptionSubscribeUnsubscribeArchive
UsersUser discussionSubscribeUnsubscribeMail Archives
DevelopmentDevelopment discussion (Design Documents, Issues, etc.)SubscribeUnsubscribeMail Archives
CommitsCommits to related repositoriesSubscribeUnsubscribeMail Archives
IssuesIssues or PRs comments and reviewsSubscribeUnsubscribeMail Archives