偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一個開源的云原生事件中間件!

開源 云原生
EventMesh 是一個動態(tài)的云原生事件驅(qū)動架構(gòu)基礎(chǔ)設(shè)施,旨在簡化分布式應(yīng)用和服務(wù)之間的事件通信。

一、項(xiàng)目介紹

EventMesh 是一個動態(tài)的云原生事件驅(qū)動架構(gòu)基礎(chǔ)設(shè)施,旨在簡化分布式應(yīng)用和服務(wù)之間的事件通信。它構(gòu)建了一個高性能、可擴(kuò)展、松耦合的事件中間件層,支持多種協(xié)議(如 HTTP、gRPC、TCP)和消息模式(Pub/Sub, Event Streaming),并提供了豐富的治理功能。其核心目標(biāo)是成為連接應(yīng)用程序、云服務(wù)和中間件的事件樞紐,構(gòu)建響應(yīng)式、彈性的分布式系統(tǒng)。

多運(yùn)行時: 

編排: 

聯(lián)邦: 

二、應(yīng)用場景

  • 微服務(wù)解耦與異步通信: 服務(wù)間通過事件發(fā)布/訂閱進(jìn)行異步交互,提高系統(tǒng)響應(yīng)性和容錯性,避免服務(wù)雪崩。
  • 事件驅(qū)動架構(gòu) (EDA) 實(shí)現(xiàn): 構(gòu)建基于事件的業(yè)務(wù)系統(tǒng),如訂單處理、庫存更新、支付通知等業(yè)務(wù)流程的驅(qū)動。
  • 實(shí)時數(shù)據(jù)管道: 將數(shù)據(jù)庫變更日志 (CDC)、應(yīng)用日志、IoT 設(shè)備數(shù)據(jù)等實(shí)時事件流接入并分發(fā)到下游處理系統(tǒng)(如 Flink, Spark, Kafka Streams)。
  • 云服務(wù)集成: 作為橋梁,連接 SaaS 應(yīng)用、云函數(shù)(如 AWS Lambda, Azure Functions, 阿里云 FC)以及傳統(tǒng)應(yīng)用,實(shí)現(xiàn)跨云、跨環(huán)境的事件驅(qū)動集成。
  • 混合云/多云事件總線: 在混合云或多云環(huán)境中提供統(tǒng)一的事件路由和管理能力。
  • Serverless 事件源: 為 Serverless 函數(shù)提供可靠、高吞吐的事件觸發(fā)源。

三、功能模塊

(1) EventMesh Runtime:

  • 通信網(wǎng)關(guān): 接收來自不同協(xié)議(HTTP, gRPC, TCP, CloudEvents)的事件發(fā)布請求。
  • 協(xié)議適配: 將不同協(xié)議的事件統(tǒng)一轉(zhuǎn)換為 CloudEvents 格式(業(yè)界標(biāo)準(zhǔn))進(jìn)行內(nèi)部處理。
  • 事件存儲與轉(zhuǎn)發(fā): 支持將事件持久化到后端存儲(如 RocketMQ, Kafka, Pulsar, Pravega)或直接轉(zhuǎn)發(fā)。
  • 連接器 (Connector): 可插拔的插件,負(fù)責(zé)與具體的事件存儲/消息隊(duì)列(MQ)進(jìn)行讀寫交互。
  • ACL (訪問控制列表): 提供基于 Topic 和用戶的權(quán)限控制。

(2) EventMesh SDK:

  • 提供多種語言(Java, Go, Python, C++, Node.js, Rust)的客戶端庫,方便應(yīng)用集成發(fā)布/訂閱事件。
  • 封裝與 EventMesh Runtime 的通信協(xié)議細(xì)節(jié)。
  • 支持 CloudEvents 規(guī)范。

(3) EventMesh Catalog:

  • 事件元數(shù)據(jù)管理,提供事件定義(Schema)、發(fā)布者、訂閱者的注冊與發(fā)現(xiàn)功能。
  • 增強(qiáng)系統(tǒng)的可觀察性和治理能力。

(4) EventMesh Dashboard (控制臺):可視化 Web UI,用于監(jiān)控集群狀態(tài)(TPS、延遲、連接數(shù))、管理 Topics、查看訂閱關(guān)系、配置 ACL、管理連接器、事件追蹤等。

(5) EventMesh Admin:提供 RESTful API 和管理 CLI,用于集群的運(yùn)維管理、配置管理、健康檢查等。

(6) EventMesh SPI (Service Provider Interface):插件化擴(kuò)展機(jī)制,允許開發(fā)者自定義協(xié)議插件、存儲插件、安全插件、注冊中心插件等。

四、功能特點(diǎn)

(1) 云原生設(shè)計(jì):

  • 輕量級,容器化友好(Docker, Kubernetes)。
  • 支持動態(tài)配置、服務(wù)發(fā)現(xiàn)、彈性伸縮。
  • 健康檢查、優(yōu)雅啟停。

(2) 協(xié)議多語言支持:

  • 原生支持 HTTP/1.1, HTTP/2 (gRPC), TCP 協(xié)議接入。
  • 提供多語言 SDK,降低接入門檻。

(3) 擁抱 CloudEvents:內(nèi)部采用并推廣 CloudEvents 規(guī)范,提供跨平臺、跨供應(yīng)商的事件數(shù)據(jù)互操作性。

(4) 高性能與高擴(kuò)展:

  • 采用 Netty 等高性能網(wǎng)絡(luò)框架。
  • 連接器架構(gòu)支持水平擴(kuò)展 Runtime 節(jié)點(diǎn)和靈活替換后端存儲(如 RocketMQ, Kafka, Pulsar)。
  • 事件處理鏈路優(yōu)化。

(5) 強(qiáng)大的治理能力:

  • 可視化 Dashboard 提供實(shí)時監(jiān)控。
  • 細(xì)粒度的 ACL 權(quán)限控制。
  • 事件鏈路追蹤(集成 OpenTracing/OpenTelemetry)。
  • 事件元數(shù)據(jù)管理(Catalog)。

(6) 松耦合與靈活性:

  • 發(fā)布者與訂閱者完全解耦。
  • 插件化架構(gòu)(SPI)支持高度自定義和擴(kuò)展。
  • 支持多種事件傳遞語義(至少一次、至多一次)。

(7) 開源與社區(qū)驅(qū)動: Apache 孵化器項(xiàng)目,擁有活躍的社區(qū)和持續(xù)迭代。

五、項(xiàng)目架構(gòu)

1. 技術(shù)架構(gòu)

EventMesh 采用分層、插件化的架構(gòu):

(1) 接入層:

  • 由 EventMesh Runtime 節(jié)點(diǎn)組成,負(fù)責(zé)接收來自 EventMesh SDK 或其他客戶端(通過 HTTP/gRPC/TCP)的事件。
  • 進(jìn)行協(xié)議解析、身份認(rèn)證(可選)、ACL 校驗(yàn)。
  • 將事件統(tǒng)一轉(zhuǎn)換為 CloudEvents 格式。

(2) 處理層:

  • 在 Runtime 內(nèi)部,事件經(jīng)過可能的過濾、轉(zhuǎn)換(通過 SPI 插件)后,由 Connector 插件處理。
  • Connector 負(fù)責(zé)與具體的 事件存儲層 交互,執(zhí)行事件發(fā)布(Pub)或持久化。

(3) 事件存儲層:

可插拔的后端存儲系統(tǒng),如 Apache RocketMQ, Apache Kafka, Apache Pulsar, Pravega 等。由 Connector 對接。負(fù)責(zé)事件的可靠存儲、排序和分發(fā)。

(4) SDK 層:

部署在應(yīng)用程序端,提供簡潔 API 供應(yīng)用發(fā)布和訂閱事件。屏蔽底層協(xié)議和 EventMesh 細(xì)節(jié)。

(5) 治理與管控層:

  • EventMesh Dashboard/Admin: 提供可視化管理和 API 接口。
  • EventMesh Catalog: 管理事件元數(shù)據(jù)(可選部署)。
  • 依賴注冊中心(如 Nacos, etcd, Zookeeper)進(jìn)行 Runtime 節(jié)點(diǎn)發(fā)現(xiàn)和配置管理。
  • 集成 Metrics (Prometheus), Tracing (Jaeger/Zipkin) 用于監(jiān)控。

(6) SPI 層: 貫穿各層,提供協(xié)議、存儲、安全、注冊中心等擴(kuò)展點(diǎn)。

(7) 架構(gòu)圖

(8) EventMesh云原生結(jié)構(gòu)

2. 技術(shù)棧

(1) 核心語言: Java (Runtime, SDK-Java, Dashboard 后端), Go (SDK-Go), Vue.js (Dashboard 前端)

(2) 網(wǎng)絡(luò)通信: Netty (高性能 TCP/HTTP), gRPC (HTTP/2), Reactor Netty (可選)

(3) 事件規(guī)范: 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) 治理與監(jiān)控:

  • Metrics: Micrometer -> Prometheus
  • Tracing: OpenTracing (Jaeger) / OpenTelemetry
  • 日志: SLF4J + Logback/Log4j2

(8) 前端: Vue 2/3, Element UI / Ant Design Vue, ECharts (Dashboard)

(9) 構(gòu)建與依賴管理: Maven, npm/yarn

(10) 部署: Docker, Kubernetes (Helm Chart), 獨(dú)立 JAR 包

(11) 其他關(guān)鍵庫: Spring Boot (Dashboard 后端), Guava, Lombok, Jackson, Protobuf (gRPC), RxJava (異步處理)

七、部署指南

1. 依賴

  • 建議使用64位操作系統(tǒng),建議使用Linux / Unix;
  • 64位JDK 1.8+;
  • Gradle至少為5.6, 推薦 5.6.*

2. 本地構(gòu)建運(yùn)行

(1) 下載  

https://github.com/apache/incubator-eventmesh 您將獲得EventMesh-master.zip

(2) 項(xiàng)目結(jié)構(gòu)

  • eventmesh-common : eventmesh公共類與方法模塊
  • eventmesh-connector-api : eventmesh connector插件接口定義模塊
  • eventmesh-connector-plugin : eventmesh connector插件模塊
  • eventmesh-runtime : eventmesh運(yùn)行時模塊
  • eventmesh-sdk-java : eventmesh java客戶端sdk
  • eventmesh-starter : eventmesh本地啟動運(yùn)行項(xiàng)目入口
  • eventmesh-spi : eventmesh SPI加載模塊

(3) 插件說明

① 安裝插件

有兩種方式安裝插件:

  • classpath加載:本地開發(fā)可以通過在eventmesh-starter模塊build.gradle中進(jìn)行聲明,例如聲明使用rocketmq插件
implementation project(":eventmesh-connector-plugin:eventmesh-connector-rocketmq")
  • 文件加載:通過將插件安裝到插件目錄,EventMesh在運(yùn)行時會根據(jù)條件自動加載插件目錄下的插件,可以通過執(zhí)行以下命令安裝插件
./gradlew clean jar dist && ./gradlew installPlugin

② 使用插件

EventMesh會默認(rèn)加載dist/plugin目錄下的插件,可以通過-DeventMeshPluginDir=your_plugin_directory來改變插件目錄。運(yùn)行時需要使用的插件實(shí)例可以在 confPath目錄下面的eventmesh.properties中進(jìn)行配置。例如通過以下設(shè)置聲明在運(yùn)行時使用rocketmq插件。

#connector plugin
eventMesh.connector.plugin.type=rocketmq

③ 配置VM啟動參數(shù)

-Dlog4j.cnotallow=eventmesh-runtime/conf/log4j2.xml
-Deventmesh.log.home=eventmesh-runtime/logs
-Deventmesh.home=eventmesh-runtime
-Dcnotallow=eventmesh-runtime/conf

注:如果操作系統(tǒng)為Windows, 可能需要將文件分隔符換成\

④ 啟動運(yùn)行

運(yùn)行org.apache.eventmesh.starter.StartUp的主要方法

3. Docker 運(yùn)行

(1) 拉取鏡像

執(zhí)行 docker pull eventmesh/eventmesh-rocketmq:v1.3.0 , 你將會獲取到EventMesh的鏡像,如下圖所示:

(2) 配置

預(yù)先準(zhǔn)備 : 你可能需要從github上下載源代碼,并參考這兩個文件(eventMesh.properties 和 rocketmq-client.properties)的內(nèi)容來做下面的操作

① 需要配置的文件

在運(yùn)行容器之前,你需要配置如下文件:

eventMesh.properties:

配置項(xiàng)

默認(rèn)值

備注

eventMesh.server.http.port

10105

EventMesh http 服務(wù)端口

eventMesh.server.tcp.port

10000

EventMesh tcp 服務(wù)端口

rocketmq-client.properties:

配置項(xiàng)

默認(rèn)值

備注

eventMesh.server.rocketmq.namesrvAddr

127.0.0.1:9876;127.0.0.1:9876

RocketMQ namesrv 地址

拉取了EventMesh鏡像到你的宿主機(jī)后,你可以執(zhí)行下面的命令來完成eventMesh.properties和rocketmq-client.properties 文件的配置。

② 創(chuàng)建文件

mkdir -p /data/eventmesh/rocketmq/conf
cd /data/eventmesh/rocketmq/conf
vi eventMesh.properties
vi rocketmq-client.properties

這兩個文件內(nèi)容可以參考 eventMesh.properties 和 rocketmq-client.properties

(3) 運(yùn)行

① 運(yùn)行

執(zhí)行下面的命令來運(yùn)行容器:

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 : 將容器內(nèi)端口與宿主機(jī)端口綁定,容器的端口應(yīng)與配置文件中的端口一致
  • -v : 將容器內(nèi)的配置文件掛載到宿主機(jī)下,需注意配置文件的路徑

② 檢查容器的運(yùn)行狀況

執(zhí)行 docker ps 來檢查容器的運(yùn)行狀況:

執(zhí)行 docker logs [container id] 可以得到如下結(jié)果:

執(zhí)行 docker exec -it [container id] /bin/bash 可以進(jìn)入到容器中并查看詳細(xì)信息。

八、源碼地址

https://gitee.com/bemy/incubator-eventmesh

責(zé)任編輯:趙寧寧 來源: 技術(shù)老男孩
相關(guān)推薦

2022-04-11 09:15:44

中間件開源

2013-05-17 17:01:32

紅帽OpenShifPaaS云

2013-05-17 15:08:19

紅帽

2024-06-12 13:40:58

2013-03-27 10:04:21

云計(jì)算開源中間件

2013-03-27 10:11:23

云計(jì)算紅帽

2012-09-13 15:48:16

云計(jì)算中間件

2010-03-19 15:24:15

云服務(wù)

2016-08-24 17:00:02

微服務(wù)容器原生云

2019-12-13 10:32:56

開源消息中間件

2025-03-27 11:03:18

2023-02-13 11:43:15

云原生中間件負(fù)載均衡

2022-08-09 08:31:29

RocketMQ消息中間件

2011-10-28 09:20:36

dorado

2018-12-07 12:47:06

iPaaS混合云多云

2011-08-23 14:58:54

Gartner云服務(wù)中間件

2020-12-23 10:26:15

中間件ApacheTomca漏洞升級

2011-12-30 10:31:38

云計(jì)算

2011-10-24 07:41:38

SOA中間件應(yīng)用服務(wù)器

2012-11-01 15:16:22

金蝶中間件研究院院長
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號