Apache EventMesh 是用于构建分布式事件驱动应用程序的新一代无服务器事件中间件。
Apache EventMesh提供了许多功能来帮助用户实现他们的目标,以下是一些EventMesh的关键特点:
- 基于 CloudEvents 规范构建。
- 快速可扩展的Connector,connectors,例如作为Saas、CloudService和数据库等的source 或sink。.
- 快速可扩展的存储层,使用 JDBC和Apache RocketMQ, Apache Kafka, Apache Pulsar, RabbitMQ, Redis, Pravega, 和 RDMS(正在进行中)集成。
- 快速可扩展的控制器,例如 Consul, Nacos, ETCD 和 Zookeeper。
- 至少一次的可靠性投递。
- 在多个EventMesh部署之间传递事件。
- 通过目录服务进行事件模式管理。
- 通过 Serverless workflow 引擎实现强大的事件编排。
- 强大的事件过滤和转换功能。
- 快速、无缝的可扩展性。
- 易于函数开发和框架集成。
请前往路线图查看Apache EventMesh的版本历史和新功能。.
- EventMesh-site: Apache EventMesh 的官方网站资源。
- EventMesh-workflow: 用于在 EventMesh 上进行事件编排的无服务器工作流运行时。
- EventMesh-dashboard: EventMesh 的运维控制台。
- EventMesh-catalog: 使用 AsyncAPI 进行事件模式管理的目录服务。
- EventMesh-go: EventMesh 运行时的 Go 语言实现。
本节指南将指导您分别从本地、Docker、K8s部署EventMesh的步骤:
本节指南按照默认配置启动 EventMesh,如果您需要更加详细的 EventMesh 部署步骤,请访问EventMesh官方文档。
EventMesh 支持多种事件存储,默认存储模式为
standalone
,不依赖其他事件存储作为层。
从 EventMesh Download 页面下载最新版本的 Binary Distribution 发行版并解压:
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
执行 start.sh
脚本启动 EventMesh Runtime 服务器。
bash bin/start.sh
查看输出日志:
tail -n 50 -f logs/eventmesh.out
当日志输出 server state:RUNNING
,则代表 EventMesh Runtime 启动成功了。
停止:
bash bin/stop.sh
脚本打印 shutdown server ok!
时,代表 EventMesh Runtime 已停止。
使用下面的命令行下载最新版本的 EventMesh:
sudo docker pull apache/eventmesh:latest
使用以下命令启动 EventMesh 容器:
sudo docker run -d --name eventmesh -p 10000:10000 -p 10105:10105 -p 10205:10205 -p 10106:10106 -t apache/eventmesh:latest
进入容器:
sudo docker exec -it eventmesh /bin/bash
查看日志:
cd logs
tail -n 50 -f eventmesh.out
运行以下命令部署(删除部署, 只需将 deploy
替换为 undeploy
即可):
$ cd eventmesh-operator && make deploy
运行 kubectl get pods
、kubectl get crd | grep eventmesh-operator.eventmesh
查看部署的 EventMesh-Operator 状态以及 CRD 信息.
$ 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
运行以下命令部署 runtime、connector-rocketmq (删除部署, 只需将 create
替换为 delete
即可):
$ make create
运行 kubectl get pods
查看部署是否成功.
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
每个贡献者在推动 Apache EventMesh 的健康发展中都发挥了重要作用。我们真诚感谢所有为代码和文档作出贡献的贡献者。
这里是贡献者列表,感谢大家! :)
Apache EventMesh 的开源协议遵循 Apache License, Version 2.0.
微信小助手 | 微信公众号 | Slack |
---|---|---|
加入 Slack |
双周会议 : #Tencent meeting : 346-6926-0133
双周会议记录 : bilibili
名称 | 描述 | 订阅 | 取消订阅 | 邮件列表存档 |
---|---|---|---|---|
用户 | 用户支持与用户问题 | 订阅 | 取消订阅 | 邮件存档 |
开发 | 开发相关 (设计文档, Issues等等.) | 订阅 | 取消订阅 | 邮件存档 |
Commits | 所有与仓库相关的 commits 信息通知 | 订阅 | 取消订阅 | 邮件存档 |
Issues | Issues 或者 PR 提交和代码Review | 订阅 | 取消订阅 | 邮件存档 |