34 Star 145 Fork 48

WeBank / eventmesh

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.zh-CN.md 10.46 KB
一键复制 编辑 原始数据 按行查看 历史

Apache EventMesh

Apache EventMesh 是用于构建分布式事件驱动应用程序的新一代无服务器事件中间件。

EventMesh 架构

EventMesh Architecture

EventMesh Dashboard

EventMesh Dashboard

特性

Apache EventMesh提供了许多功能来帮助用户实现他们的目标,以下是一些EventMesh的关键特点:

  • 基于 CloudEvents 规范构建。
  • 快速可扩展的Connector,connectors,例如作为Saas、CloudService和数据库等的source 或sink。.
  • 快速可扩展的存储层,使用 JDBCApache RocketMQ, Apache Kafka, Apache Pulsar, RabbitMQ, Redis, Pravega, 和 RDMS(正在进行中)集成。
  • 快速可扩展的控制器,例如 Consul, Nacos, ETCDZookeeper
  • 至少一次的可靠性投递。
  • 在多个EventMesh部署之间传递事件。
  • 通过目录服务进行事件模式管理。
  • 通过 Serverless workflow 引擎实现强大的事件编排。
  • 强大的事件过滤和转换功能。
  • 快速、无缝的可扩展性。
  • 易于函数开发和框架集成。

路线图

请前往路线图查看Apache EventMesh的版本历史和新功能。.

子项目

快速入门

本节指南将指导您分别从本地DockerK8s部署EventMesh的步骤:

本节指南按照默认配置启动 EventMesh,如果您需要更加详细的 EventMesh 部署步骤,请访问EventMesh官方文档

部署 Event Store

EventMesh 支持多种事件存储,默认存储模式为 standalone,不依赖其他事件存储作为层。

在本地运行 EventMesh Runtime

1. 下载 EventMesh

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

2. 运行 EventMesh

执行 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 已停止。

在 Docker 中运行 EventMesh Runtime

1. 获取 EventMesh 镜像

使用下面的命令行下载最新版本的 EventMesh

sudo docker pull apache/eventmesh:latest

2. 运行 EventMesh

使用以下命令启动 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

在 Kubernetes 中运行 EventMesh Runtime

1. 部署 Operator

运行以下命令部署(删除部署, 只需将 deploy 替换为 undeploy 即可):

$ cd eventmesh-operator && make deploy

运行 kubectl get podskubectl 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

2. 部署 EventMesh Runtime

运行以下命令部署 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 的健康发展中都发挥了重要作用。我们真诚感谢所有为代码和文档作出贡献的贡献者。

这里是贡献者列表,感谢大家! :)

CNCF Landscape

Apache EventMesh enriches the CNCF Cloud Native Landscape.

License

Apache EventMesh 的开源协议遵循 Apache License, Version 2.0.

Community

微信小助手 微信公众号 Slack
加入 Slack

双周会议 : #Tencent meeting : 346-6926-0133

双周会议记录 : bilibili

邮件名单

名称 描述 订阅 取消订阅 邮件列表存档
用户 用户支持与用户问题 订阅 取消订阅 邮件存档
开发 开发相关 (设计文档, Issues等等.) 订阅 取消订阅 邮件存档
Commits 所有与仓库相关的 commits 信息通知 订阅 取消订阅 邮件存档
Issues Issues 或者 PR 提交和代码Review 订阅 取消订阅 邮件存档
Java
1
https://gitee.com/WeBank/EventMesh.git
git@gitee.com:WeBank/EventMesh.git
WeBank
EventMesh
eventmesh
master

搜索帮助