Apache EventMesh is a new generation serverless event middleware for building distributed event-driven applications.
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:
- Built around the CloudEvents specification.
- Rapidty extendsible interconnector layer connectors using openConnect such as the source or sink of Saas, CloudService, and Database etc.
- Rapidty extendsible storage layer such as Apache RocketMQ, Apache Kafka, Apache Pulsar, RabbitMQ, Redis.
- Rapidty extendsible meta such as Consul, Nacos, ETCD and Zookeeper.
- Guaranteed at-least-once delivery.
- Deliver events between multiple EventMesh deployments.
- Event schema management by catalog service.
- Powerful event orchestration by Serverless workflow engine.
- Powerful event filtering and transformation.
- Rapid, seamless scalability.
- Easy Function develop and framework integration.
Please go to the roadmap to get the release history and new features of Apache EventMesh.
- EventMesh-site: Apache official website resources for EventMesh.
- EventMesh-workflow: Serverless workflow runtime for event Orchestration on EventMesh.
- EventMesh-dashboard: Operation and maintenance console of EventMesh.
- EventMesh-catalog: Catalog service for event schema management using AsyncAPI.
- EventMesh-go: A go implementation for EventMesh runtime.
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.
EventMesh supports multiple Event Stores, the default storage mode is
standalone
, and does not rely on other event stores as layers.
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
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.
Use the following command line to download the latest version of EventMesh:
sudo docker pull apache/eventmesh:latest
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 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.eventmesh
to 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
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
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! :)
Apache EventMesh is licensed under the Apache License, Version 2.0.
WeChat Assistant | WeChat Public Account | Slack |
---|---|---|
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
Name | Description | Subscribe | Unsubscribe | Archive |
---|---|---|---|---|
Users | User discussion | Subscribe | Unsubscribe | Mail Archives |
Development | Development discussion (Design Documents, Issues, etc.) | Subscribe | Unsubscribe | Mail Archives |
Commits | Commits to related repositories | Subscribe | Unsubscribe | Mail Archives |
Issues | Issues or PRs comments and reviews | Subscribe | Unsubscribe | Mail Archives |