一个开源的云原生事件中间件!
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
相关攻略
NET 云原生并非颠覆性革命,而是对现有 NET 技术的演进与扩展。它帮助开发者构建更适应云时代的应用,本质是一次能力升级而非被迫转型。 近年来,国内 NET 高薪招聘正发生明显转变,开始转向云
EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务之间的事件通信。 一、项目介绍EventMesh 是一个动态的云原生事件驱动架构基础设施,旨在简化分布式应用和服务
云原生安全作为云安全的未来终极形态,其能力完备将在满足风险防控、多技术适配(信创、AI、边缘等)、关基业务保障三大核心诉求的背景下,经历“风险应对-业务适配-生态协同”的多层面进阶和演进。 云原生
本文将聚焦私有云泛云主机产业生态与特色厂商布局,并结合报告的研究成果进行重点分享和详细阐述。 随着私有云架构向混合云、云原生化不断演进,泛云主机形态已涵盖物理机、虚拟机、云主机、信创云主机、容器、无
面对可观测性建设各方面的挑战,G行选择采用基于零侵扰解决方案建设全栈可观测平台,能够零侵扰采集业务语义、系统调用、网络转发、文件读写调用链,并通过收集和关联服务自身的日志链路数据实现调用链的全覆盖。
热门专题
热门推荐
角色与光锥适配深度解析 为队伍挑选合适的光锥,往往能起到画龙点睛的作用。今天,我们就来深入聊聊几款功能各异的光锥,看看它们如何与特定命途的角色产生化学反应。 酣战如始 1 属性与适配角色:作为同谐命途的光锥,其核心属性集中在速度与能量恢复上。这无疑是那些专注于辅助队友、提供团队增益角色的优质选择。
什么是对冲? 加密货币市场的价格变化,向来以快速剧烈著称。上午还在上涨的资产,下午就可能面临回调。在这种高波动的环境下,交易者们自然会寻求一种方法来保护自己的资金免受冲击。这种方法就是对冲——一种旨在降低风险、提升投资组合稳定性的核心策略。简单来说,对冲的核心逻辑在于:当你持有的主要加密货币资产价值
荣耀平板PC化升级计划公布,将带来PC交互、PC级应用支持等特性 三月十号,荣耀的一场重磅发布会,揭开了其平板产品线战略升级的序幕。在荣耀Magic V6旗舰新品发布会后,荣耀终端股份有限公司全场景产品线的负责人,@荣耀潇哥,进一步分享了一项备受关注的“平板PC化升级计划”。 在分享中,@荣耀潇哥清
5 分钟充好,9 分钟充饱,比亚迪闪充补上新能源转型最后一块拼图 “没有人比我们比亚迪更懂电池。”这句在发布会上掷地有声的口号,背后是实打实的技术突破。前不久的比亚迪“闪充中国改变世界”发布会上,王传福总裁正式揭晓了第二代刀片电池与配套的闪充技术,一组数据瞬间引爆了行业: 从10%到70%电量,只需
IT之家 3 月 31 日消息,OPPO K15 Pro 系列手机已官宣将于明日 14:30 正式发布。IT之家注意到,OPPO K15 Pro 手机已现身正式,并公布了核心配置信息,IT之家附如下





