當Service Mesh遇見Event Mesh: Event-Driven型企業新的架構層

ServiceMesher2018-12-07 00:30:00

作者:Shawn McAllister 譯者:季正軍 校對:王凱 原文:https://solace.com/blog/event-mesh

Service Mesh被用作的基礎設施層,使通信變得更加靈活,可靠和快速。 它得到了谷歌、微軟、IBM、紅帽和 Pivotal 等行業巨頭的推動,並且正在推出 Kubernetes、OpenShift 和 Pivotal Container Service(PKS)等平臺和服務。

雖然 Service Mesh (服務網格)可以很好地支持同步 RESTful 和一般的<請求-回覆>交互,但它不支持異步、的交互,不適合將雲原生微服務與遺留連接,也不適用於 IoT。

現代企業正在將事件驅動架構作為其數字化轉型的一部分,每個事件驅動型的企業都需要一箇中樞神經系統來快速、可靠和安全地將事件從它們發生的地方發送到它們需要去的地方。

這個中樞神經系統可以被視為 Event Mesh() - 您架構中的一個新層。

事件網格作為服務網格的補充,可以做為應用程序的連接層,以提供企業實現其數字化轉型目標所需的全套應用程序間通信模式。

什麼是 Event Mesh?

事件網格對於事件驅動的應用程序,就好比是服務網格對於 RESTful 應用程序:一個架構層,無論在哪裡部署這些應用程序(非雲、公有云或者私有云),都可以動態路由某個應用程序的事件並使其被其他應用程序所接收。 事件網格由內部連通的 Event broker(事件代理)網絡來創建和啟用。

Event Mesh vs. Service Mesh

事件網格可以做為服務網格的補充。事件網格和服務網格類似,它們可以在應用程序之間實現更好的通信,並允許應用程序通過將某些功能放在網絡層和應用程序層之間,這樣我們可以更多地關注業務邏輯。 但是,相比之下,也有一些重要的區別:

  • 服務網格連接雲環境中的微服務,例如 Kubernetes,Amazon ECS、Google Kubernetes Engine、IBM Cloud 和 Alibaba;

  • 事件網格不僅連接微服務(容器化或其他),還連接遺留的應用程序、雲原生服務以及可在雲和非雲環境中運行的各種設備和數據源/接收端。 事件網格可以將任何事件源連接到任何事件處理程序,無論它們在何處部署。

Event Mesh 的特點

事件網格的定義有三個顯著特徵。 事件網格是:

  1. 由內部連通的 Event Broker 形成的組合

  2. 與環境無關

  3. 動態的

事件網格由 Event Broker(1)網絡創建和啟用的事實意味著其本質上是事件驅動的。

“我相信事件將成為現代企業的生命線。”

與環境無關(2),我的意思是事件網格可以部署在任何公共雲、私有云、PaaS 或非雲環境中,並且它將在所有環境中以統一的方式運行。

事件網格的動態特性(3)可能是其最重要的屬性。 所謂動態,我指的是它能夠動態地瞭解哪些事件將被路由到哪些消費者應用程序,然後在事件發生時實時路由這些事件,無論生產者和消費者在哪裡被附加到網格, 而且無需配置事件路由。 我們應該讓事件網格負責這些,而不是開發人員。

為什麼企業需要 Event Mesh?

簡而言之,事件網格支持以下使用場景:

  • 連接和編排微服務

  • 將事件從內部部署推送到雲應用程序或服務(混合雲)

  • 跨 LOB(line-of-business) 啟用“數據即服務”

  • 實現與後端系統的物聯網連接

這是更長的答案:

事件網格使企業能夠支持事件驅動的體系結構,從最小的微服務部署,到以易管理、健壯、安全和架構良好的方式將應用程序擴展到混合雲。 它提供了動態和全部實時地集成遺留應用程序、數據存儲、現代微服務、SaaS、物聯網和移動設備的能力。 事件網格為應用程序開發人員和架構師提供了構建和部署分佈式事件驅動應用程序的基礎,無論他們需要在何處構建和部署。

結論

事件網格概念旨在實現和支持企業數字化轉型。 在 2018 年,那些不完全採用事件驅動架構的企業正在向全面擁抱事件驅動架構轉型。 但根據我的經驗,許多人正在針對特定用例進行此操作,並且通常採用零碎的方法,而不是採用企業範圍內事件分發的明確願景。

我相信事件將成為現代企業的生命線。 為此,他們需要讓事件在數字企業越來越分散的環境和組件中自由輕鬆地流動。

事件網格就是實現此功能的架構層。

相關閱讀推

使用 Envoy 搭建 Service Mesh

容器編排無法解決微服務的所有問題,你還需要服務網格

後Kubernetes時代的微服務

服務網格加速金融科技向微服務轉型

雲原生世界中的隱形人如何擁抱 Istio

Istio

IBM Istio

  • 111 Istio

  • 118 Istio上手

  • 1115 Istio

  • 11月22日 Envoy

  • 1129 使Istio

  • 126 Istio mixer -

  • 1213 Istio

  • 1220 Istio使Serverless knative

  • IBMIstio

點擊【閱讀原文】跳轉到ServiceMesher網站上瀏覽可以查看文中的鏈接。

  • SOFAMesh(https://github.com/alipay/sofa-mesh)基於Istio的大規模服務網格解決方案

  • SOFAMosn(https://github.com/alipay/sofa-mosn)使用Go語言開發的高性能Sidecar代理

合作社區

參與社區

以下是參與ServiceMesher社區的方式,最簡單的方式是聯繫我!

  • 加入微信交流群:關注本微信公眾號後訪問主頁右下角有獲取聯繫方式按鈕,添加好友時請註明姓名-公司

  • 社區網址:http://www.servicemesher.com

  • Slack:https://servicemesher.slack.com (需要邀請才能加入)

  • GitHub:https://github.com/servicemesher

  • Istio中文文檔進度追蹤:https://github.com/servicemesher/istio-official-translation

  • Twitter: https://twitter.com/servicemesher

  • 提供文章線索與投稿:https://github.com/servicemesher/trans


閱讀原文

TAGS: