開源項目名稱:EventMesh
開源項目簡介:動態插件式雲原生基礎服務
開源項目類型:企業開源項目
項目建立時間:2020 年 8 月
GitHub 數據:416 Star,105 Fork
GitHub 地址: https://github.com/WeBankFinT...
近年來,隨着微服務、容器、服務網格、 Serverless 等雲原生技術的發展,事件驅動架構也再次成爲熱點,引發 IT 界普遍的關注。事件驅動架構是一種用於設計應用的軟件架構和模型。對於事件驅動系統而言,事件的捕獲、通訊、處理和持久保留是解決方案的核心結構。事件驅動架構能夠最大程度減小耦合度,很好地擴展與適配不一樣類型的服務組件,所以是現代化分佈式應用架構的理想之選。java
而微衆開源的 EventMesh 項目就是以事件驅動爲核心的分佈式服務運行時,經過動態的插件式雲原生基礎服務層,將應用程序和中間件層分離,並提供了靈活,可靠和快速的事件分發和處理能力,同時能夠對事件進行管理,能夠做爲應用進程的鏈接層,提供企業實現其數字化轉型的目標所需的全套應用進程間通訊模式。python
EventMesh 項目於 2020 年 8 月在 GitHub 上對外開源,早期是爲了解決微衆銀行內部多語言客戶端接入消息總線的問題,隨着雲原生技術的不斷髮展成熟與落地,富客戶端的複雜邏輯逐漸下沉到 EventMesh 中,演變成爲了 Sidecar 服務,同時也可做爲 Gateway 集羣部署,以一種更通用的協議接口暴露服務,簡化事件應用開發,供各類事件源和事件目標集成。git
今年 2 月 EventMesh 正式經過國際頂級開源組織 Apache 軟件基金會(簡稱 ASF )的投票決議,以全票經過的優秀表現成爲 ASF孵化器項目。這是國內金融行業首個進入 ASF 孵化器的開源項目,標誌着微衆銀行在踐行金融科技全面開源道路上的重要里程碑。github
EventMesh是一個動態的雲原生事件驅動架構基礎設施,用於分離應用程序和後端中間件層,它支持普遍的用例,包括複雜的混合雲、使用了不一樣技術棧的分佈式架構。segmentfault
EventMesh架構:後端
EventMesh雲原生結構:網絡
Event Mesh容許未來自一個應用程序的事件動態路由到任何其餘應用程序。Event Mesh的通常功能:架構
關鍵部件:負載均衡
EventMesh 不只將事件生產者與消費者進行解耦,還下降了運行時與事件存儲代碼之間的耦合度。事件存儲(DeFiBus/RocketMQ/Kafka/Redis 等)以插件化的形式接入 EventMesh,所以 EventMesh 能夠更爲靈活地擴展事件存儲,經過對接不一樣的事件存儲,用戶能夠享受到不一樣事件存儲所具備的特性。less
EventMesh 遵循面向雲原生的 OpenMessaging 接口定義,經過不一樣事件存儲插件對接口的實現,完成事件的發佈訂閱,同時 EventMesh 對事件的定義遵循 Cloud Event 標準協議,統一了不一樣語言事件接入的協議入口。同時 EventMesh 支持 sideCar 形式的部署模式,可經過K8S進行管理。
EventMesh 可爲多種語言 (java/go/python/c/...)進行代理,目前提供http/tcp 兩種接入方式, 客戶端不需關注事件存儲組件的相關協議,僅需遵循 EventMesh 協議,與 EventMesh 對接,減小了直接對接事件存儲的複雜度,下降不一樣語言客戶端的接入成本。
EventMesh 具備集羣化能力,客戶端經過負載均衡策略與 EventMesh 集羣建連,支持 gateWay 形式的部署模式,EventMesh 對客戶端支持組級別代理。
EventMesh 能夠做爲 Service Mesh 的補充,在應用程序之間實現更好的通訊,並容許應用程序經過將某些功能放在網絡層和應用程序層之間使咱們能夠更多地關注業務邏輯。可是,相比之下,二者有一些重要的區別:
這些區別體現了 EventMesh 的異步通訊的特色和優點,以及相比 Service Mesh 具備覆蓋更普遍應用場景的能力。誠邀關注雲計算的你一同參與到 EventMesh 的建設中。
以 EDA+Serverless 架構理念驅動的 Apache EventMesh 填補了開源領域在 Eventing as A Infrastructure 的空白,它能解耦、屏蔽應用與底層中間件交互細節,結合 Knative、KEDA 等容器化技術,實現多形態部署,具備很是光明的發展前景。很是期待更多的貢獻者加入到這個極富生命力的社區,共同打造雲原生時代面向應用開發的核心基礎設施。
該項目已入選「SFOSSP - 思否開源項目支持計劃」,咱們但願藉助社區的資源對開源項目進行相關的宣傳推廣,並做爲一個長期項目助力開源事業的發展,與廣大開發者共建開源新生態。
有意向的開源項目負責人或團隊成員,可經過郵箱提供相應的信息(開源項目地址、項目介紹、團隊介紹、聯繫方式等),以便提高交流的效率。
聯繫郵箱:pr@segmentfault.com