服務網格 Istio和AWS App Mesh

2021-10-07 03:05:42 字數 939 閱讀 9034

在談論它之前,讓我們先看一下網格到底是什麼……

服務網格是微服務體系結構的基礎結構層。 它處理服務之間的通訊問題,使該通訊更加可見(或「可觀察」)且易於管理。 更具體地說,它可以處理諸如服務發現,路由和負載平衡,安全性(例如,加密,tls,身份驗證,授權)之類的事情,並提供錯誤處理(例如重試和斷路)。

上面提到的功能(服務發現,路由,加密,身份驗證/身份驗證等)是將資料(網路資料報)執行進出微服務的操作。 結果,它們有時被稱為「資料平面」。

我們如何控制對資料的操作稱為「控制平面」。 控制平面是用於控制流量的策略和配置。

資料平面和控制平面一起稱為服務網格。

儘管該術語是新術語,但資料平面的概念卻並非如此。 路由,加密等是分布式計算必不可少的。 但是,控制平面的概念是新概念,或者至少該概念以前從未真正被形式化或命名過。 馬特·克萊因(matt klein)(envoy的架構師) 認為 ,通常使用即席配置和指令碼工​​具手動完成此操作。 但是,確實存在需求。 嚴重缺乏更容易控制和觀察流量的功能。 我當然已經看到微服務的間歇性問題,您很難解釋,開發人員聳了聳肩,問「網路問題?」。

使用邊車在服務網格中處理這些型別的問題的好處是,它使應用程式(和相關的開發團隊)從不必在每個應用程式中處理這些問題中解脫出來。 過去,通常會在每個應用程式中使用通用**(例如庫)來解決此類問題,但缺點是需要特定於語言以及必須與應用程式發行版**在一起。

但是,istio是開源的,與**商無關,並且已經存在了很長時間,因此更加成熟。 例如,istio 安全功能包括通過支援mtls進行傳輸(服務到服務)身份驗證以及通過jwt並與auth0 , firebase auth和google auth整合的原始(終端使用者)身份驗證 。 它還不僅支援使用aws iam的服務身份,還支援kubernetes和gke / gce / gcp的服務身份。

服務網格資料平面與控制平面 (matt klein)

特使**

伊斯蒂奧

Istio 服務網格

istio是乙個完全開源的服務網格,作為透明的一層接入到現有的分布式應用程式裡。它也是乙個平台,擁有可以整合任何日誌 遙測和策略系統的 api 介面。istio 多樣化的特性使您能夠成功且高效地執行分布式微服務架構,並提供保護 連線和監控微服務的統一方法。服務網格用來描述組成這些應用程式的微服務網路...

服務網格 Istio和AWS App Mesh

在談論它之前,讓我們先看一下網格到底是什麼 服務網格是微服務體系結構的基礎結構層。它處理服務之間的通訊問題,使該通訊更加可見 或 可觀察 且易於管理。更具體地說,它可以處理諸如服務發現,路由和負載平衡,安全性 例如,加密,tls,身份驗證,授權 之類的事情,並提供錯誤處理 例如重試和斷路 上面提到的...

從零搭建乙個基於Istio的服務網格

上篇文章從微服務1.0時代的三大痛點 技術門檻高,多語言支援不足和 侵入性強 說起,由此引出服務網格的起源和演化歷史。但古語有云紙上得來終覺淺,絕知此事要躬行,不親自擼一遍命令,怎敢跟人提服務網格?本篇我將教大家如何在本地從零搭建乙個基於istio的服務網格,從而對服務網格有乙個更直觀的認識。無論是...