一个开源的云原生事件中间件!
EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务之间的事件通信。
一、项目介绍
EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务之间的事件通信。它构建了一个高性能、可扩展、松耦合的事件中间件层,支持多种协议(如 HTTP、gRPC、TCP)和消息模式(Pub/Sub, Event Streaming),并提供了丰富的治理功能。其核心目标是成为连接应用程序、云服务和中间件的事件枢纽,构建响应式、弹性的分布式系统。
多运行时:

编排:

联邦:

二、应用场景
微服务解耦与异步通信:服务间通过事件发布/订阅进行异步交互,提高系统响应性和容错性,避免服务雪崩。事件驱动架构 (EDA) 实现:构建基于事件的业务系统,如订单处理、库存更新、支付通知等业务流程的驱动。实时数据管道:将数据库变更日志 (CDC)、应用日志、IoT 设备数据等实时事件流接入并分发到下游处理系统(如 Flink, Spark, Kafka Streams)。云服务集成:作为桥梁,连接 SaaS 应用、云函数(如 AWS Lambda, Azure Functions, 阿里云 FC)以及传统应用,实现跨云、跨环境的事件驱动集成。混合云/多云事件总线:在混合云或多云环境中提供统一的事件路由和管理能力。Serverless 事件源:为 Serverless 函数提供可靠、高吞吐的事件触发源。三、功能模块
(1) EventMesh Runtime:
通信网关:接收来自不同协议(HTTP, gRPC, TCP, CloudEvents)的事件发布请求。协议适配:将不同协议的事件统一转换为 CloudEvents 格式(业界标准)进行内部处理。事件存储与转发:支持将事件持久化到后端存储(如 RocketMQ, Kafka, Pulsar, Pravega)或直接转发。连接器 (Connector):可插拔的插件,负责与具体的事件存储/消息队列(MQ)进行读写交互。ACL (访问控制列表):提供基于 Topic 和用户的权限控制。(2) EventMesh SDK:
提供多种语言(Java, Go, Python, C++, Node.js, Rust)的客户端库,方便应用集成发布/订阅事件。封装与 EventMesh Runtime 的通信协议细节。支持 CloudEvents 规范。(3) EventMesh Catalog:
事件元数据管理,提供事件定义(Schema)、发布者、订阅者的注册与发现功能。增强系统的可观察性和治理能力。(4) EventMesh Dashboard (控制台):可视化 Web UI,用于监控集群状态(TPS、延迟、连接数)、管理 Topics、查看订阅关系、配置 ACL、管理连接器、事件追踪等。
(5) EventMesh Admin:提供 RESTful API 和管理 CLI,用于集群的运维管理、配置管理、健康检查等。
(6) EventMesh SPI (Service Provider Interface):插件化扩展机制,允许开发者自定义协议插件、存储插件、安全插件、注册中心插件等。
四、功能特点
(1) 云原生设计:
轻量级,容器化友好(Docker, Kubernetes)。支持动态配置、服务发现、弹性伸缩。健康检查、优雅启停。(2) 协议多语言支持:
原生支持 HTTP/1.1, HTTP/2 (gRPC), TCP 协议接入。提供多语言 SDK,降低接入门槛。(3) 拥抱 CloudEvents:内部采用并推广 CloudEvents 规范,提供跨平台、跨供应商的事件数据互操作性。
(4) 高性能与高扩展:
采用 Netty 等高性能网络框架。连接器架构支持水平扩展 Runtime 节点和灵活替换后端存储(如 RocketMQ, Kafka, Pulsar)。事件处理链路优化。(5) 强大的治理能力:
可视化 Dashboard 提供实时监控。细粒度的 ACL 权限控制。事件链路追踪(集成 OpenTracing/OpenTelemetry)。事件元数据管理(Catalog)。(6) 松耦合与灵活性:
发布者与订阅者完全解耦。插件化架构(SPI)支持高度自定义和扩展。支持多种事件传递语义(至少一次、至多一次)。(7) 开源与社区驱动:Apache 孵化器项目,拥有活跃的社区和持续迭代。
五、项目架构
1. 技术架构
EventMesh 采用分层、插件化的架构:
(1) 接入层:
由EventMesh Runtime节点组成,负责接收来自EventMesh SDK或其他客户端(通过 HTTP/gRPC/TCP)的事件。进行协议解析、身份认证(可选)、ACL 校验。将事件统一转换为 CloudEvents 格式。(2) 处理层:
在 Runtime 内部,事件经过可能的过滤、转换(通过 SPI 插件)后,由Connector插件处理。Connector负责与具体的事件存储层交互,执行事件发布(Pub)或持久化。(3) 事件存储层:
可插拔的后端存储系统,如 Apache RocketMQ, Apache Kafka, Apache Pulsar, Pravega 等。由 Connector 对接。负责事件的可靠存储、排序和分发。
(4) SDK 层:
部署在应用程序端,提供简洁 API 供应用发布和订阅事件。屏蔽底层协议和 EventMesh 细节。
(5) 治理与管控层:
EventMesh Dashboard/Admin:提供可视化管理和 API 接口。EventMesh Catalog:管理事件元数据(可选部署)。依赖注册中心(如 Nacos, etcd, Zookeeper)进行 Runtime 节点发现和配置管理。集成 Metrics (Prometheus), Tracing (Jaeger/Zipkin) 用于监控。(6) SPI 层:贯穿各层,提供协议、存储、安全、注册中心等扩展点。
(7) 架构图

(8) EventMesh云原生结构

2. 技术栈
(1) 核心语言:Java(Runtime, SDK-Java, Dashboard 后端),Go(SDK-Go),Vue.js(Dashboard 前端)
(2) 网络通信:Netty(高性能 TCP/HTTP), gRPC (HTTP/2), Reactor Netty (可选)
(3) 事件规范:CloudEvents SDK
(4) 存储插件 (Connector):Apache RocketMQ Client, Apache Kafka Client, Apache Pulsar Client, Pravega Client (Java)
(5) 注册中心:Nacos, etcd, Zookeeper, Consul (通过 SPI 插件支持)
(6) 配置中心:Nacos, Apollo, Zookeeper (通过 SPI 插件支持)
(7) 治理与监控:
Metrics:Micrometer -> PrometheusTracing:OpenTracing (Jaeger) / OpenTelemetry日志:SLF4J + Logback/Log4j2(8) 前端:Vue 2/3, Element UI / Ant Design Vue, ECharts (Dashboard)
(9) 构建与依赖管理:Maven, npm/yarn
(10) 部署:Docker,Kubernetes (Helm Chart), 独立 JAR 包
(11) 其他关键库:Spring Boot (Dashboard 后端), Guava, Lombok, Jackson, Protobuf (gRPC), RxJava (异步处理)
七、部署指南
1. 依赖
建议使用64位操作系统,建议使用Linux / Unix;64位JDK 1.8+;Gradle至少为5.6, 推荐 5.6.*2. 本地构建运行
(1) 下载
https://github.com/apache/incubator-eventmesh您将获得EventMesh-master.zip
(2) 项目结构

(3) 插件说明
①安装插件
有两种方式安装插件:
classpath加载:本地开发可以通过在eventmesh-starter模块build.gradle中进行声明,例如声明使用rocketmq插件implementation project(":eventmesh-connector-plugin:eventmesh-connector-rocketmq")文件加载:通过将插件安装到插件目录,EventMesh在运行时会根据条件自动加载插件目录下的插件,可以通过执行以下命令安装插件
./gradlew clean jar dist && ./gradlew installPlugin
② 使用插件
EventMesh会默认加载dist/plugin目录下的插件,可以通过-DeventMeshPluginDir=your_plugin_directory来改变插件目录。运行时需要使用的插件实例可以在confPath目录下面的eventmesh.properties中进行配置。例如通过以下设置声明在运行时使用rocketmq插件。
#connector plugineventMesh.connector.plugin.type=rocketmq
③ 配置VM启动参数
-Dlog4j.cnotallow=eventmesh-runtime/conf/log4j2.xml-Deventmesh.log.home=eventmesh-runtime/logs-Deventmesh.home=eventmesh-runtime-Dcnotallow=eventmesh-runtime/conf
注:如果操作系统为Windows, 可能需要将文件分隔符换成
④ 启动运行
运行org.apache.eventmesh.starter.StartUp的主要方法
3. Docker 运行
(1) 拉取镜像
执行docker pull eventmesh/eventmesh-rocketmq:v1.3.0, 你将会获取到EventMesh的镜像,如下图所示:

(2) 配置
预先准备: 你可能需要从github上下载源代码,并参考这两个文件(eventMesh.properties 和 rocketmq-client.properties)的内容来做下面的操作
① 需要配置的文件
在运行容器之前,你需要配置如下文件:
eventMesh.properties:
rocketmq-client.properties:
拉取了EventMesh镜像到你的宿主机后,你可以执行下面的命令来完成eventMesh.properties和rocketmq-client.properties文件的配置。
② 创建文件
mkdir -p /data/eventmesh/rocketmq/confcd /data/eventmesh/rocketmq/confvi eventMesh.propertiesvi rocketmq-client.properties
这两个文件内容可以参考 eventMesh.properties 和 rocketmq-client.properties
(3) 运行
①运行
执行下面的命令来运行容器:
docker run -d -p 10000:10000 -p 10105:10105 -v /data/eventmesh/rocketmq/conf/eventMesh.properties:/data/app/eventmesh/conf/eventMesh.properties -v /data/eventmesh/rocketmq/conf/rocketmq-client.properties:/data/app/eventmesh/conf/rocketmq-client.properties docker.io/eventmesh/eventmesh-rocketmq:v1.3.0-p : 将容器内端口与宿主机端口绑定,容器的端口应与配置文件中的端口一致-v : 将容器内的配置文件挂载到宿主机下,需注意配置文件的路径
② 检查容器的运行状况
执行docker ps来检查容器的运行状况:

执行docker logs [container id]可以得到如下结果:

执行docker exec -it [container id] /bin/bash可以进入到容器中并查看详细信息。
八、源码地址
https://gitee.com/bemy/incubator-eventmesh
相关攻略
在云原生架构与高并发场景成为技术主流的当下,async await 无疑是 NET 开发者构建高性能应用的核心利器。它极大地简化了异步编程模型,让开发者能够告别复杂的回调地狱,编写出清晰易读的异步代码。然而,这项强大的特性若使用不当,也可能成为性能瓶颈与稳定性隐患的源头。一个普遍存在的误区是将其视
OpenClaw是什么?2026年最新一键部署方法与实战指南 如果您正在寻找一款功能强大、完全开源的AI智能体框架,那么OpenClaw(曾用名Clawdbot或Moltbot)无疑是当前的优选。它凭借卓越的任务自动化能力与丰富的工具集成生态,已成为个人开发者与企业构建智能助理的首选平台。然而,对于
OpenClaw新手入门教程:OpenClaw Clawdbot快速教程分享 想不想拥有一个能替你处理邮件、整理文档、安排日程的“AI数字员工”?今天要聊的OpenClaw(原名Clawdbot Moltbot)恰恰就能实现这一点。它不止是一个聊天机器人,更是一个开源的本地优先AI代理与自动化平台。
NET 云原生并非颠覆性革命,而是对现有 NET 技术的演进与扩展。它帮助开发者构建更适应云时代的应用,本质是一次能力升级而非被迫转型。 近年来,国内 NET 高薪招聘正发生明显转变,开始转向云
EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务之间的事件通信。 一、项目介绍EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务
热门专题
热门推荐
广东无人机适飞空域扩大16%至10 24万平方公里,覆盖全省57%陆地面积,滨海、郊野、工业园区及非核心城区公园等区域开放,深圳市区新增连片适飞区。飞行需通过民航局UOM平台提前申请,严禁“黑飞”,违者将受处罚。平台已升级,实现全国规则统一与分钟级空域更新,支持低空物流与巡检等应用。
杭州Costco门店因iPhone17系列手机引发抢购热潮,数百人排队致迅速断货。抢购源于官方降价与地方补贴叠加:iPhone17Pro全系直降千元,同时当地青年消费补贴可再减10%,最高省千元。双重优惠下,256GB版iPhone17Pro到手价低至7172元,较电商平台便宜近千元,吸引本地及周边消费者。目前门店仍处缺货状态,补货时间未定。
5月17日晚,长征八号运载火箭在海南商业航天发射场点火升空,成功将千帆星座第九批组网卫星送入预定轨道。此次发射是该发射场启用以来的第15次成功发射,也是今年第5次发射,体现了我国商业航天发射能力的日益成熟和常态化运营的稳步推进。
七彩虹新款iGameM15 M16Origo2026款游戏本已发售,起售价11499元。M15为15 3英寸黑色机身,配备2 5K300Hz屏,最高可选Ultra9处理器与RTX5070显卡。M16为16英寸白色款,屏幕规格相同,处理器性能更强,电池容量更大。两款均提供多种配置,享受国家补贴后价格更具竞争力,面向中高端游戏玩家与创作者。
联想在北美市场推出新款ThinkPadT14Gen7商务笔记本,支持用户自行更换LPCAMM2内存。该机型提供多款英特尔酷睿Ultra处理器选项,内存可选16GB至64GB,电池与屏幕亦有多种配置,其中顶配版搭载OLED屏幕。产品起售价为1618美元,高配版本价格超过3700美元,主要面向商用及专业办公市场,兼顾性能、可升级性与不同预算需求。





