中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解Service Mesh

發布時間:2021-11-14 16:38:16 來源:億速云 閱讀:262 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么理解Service Mesh”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么理解Service Mesh”吧!

時代0:開發人員想象中,不同服務間通信的方式

抽象表示如下:

怎么理解Service Mesh

時代1:原始通信時代

然而現實遠比想象的復雜,在實際情況中,通信需要底層能夠傳輸字節碼和電子信號的物理層來完成,在TCP協議出現之前,服務需要自己處理網絡通信所面臨的丟包、亂序、重試等一系列流控問題,因此服務實現中,除了業務邏輯外,還夾雜著對網絡傳輸問題的處理邏輯。

怎么理解Service Mesh

時代2:TCP時代

為了避免每個服務都需要自己實現一套相似的網絡傳輸處理邏輯,TCP協議出現了,它解決了網絡傳輸中通用的流量控制問題,將技術棧下移,從服務的實現中抽離出來,成為操作系統網絡層的一部分。

怎么理解Service Mesh

時代3:第一代微服務

在TCP出現之后,機器之間的網絡通信不再是一個難題,以GFS/BigTable/MapReduce為代表的分布式系統得以蓬勃發展。這時,分布式系統特有的通信語義又出現了,如熔斷策略、負載均衡、服務發現、認證和授權、quota限制、trace和監控等等,于是服務根據業務需求來實現一部分所需的通信語義。

怎么理解Service Mesh

時代4:第二代微服務

為了避免每個服務都需要自己實現一套分布式系統通信的語義功能,隨著技術的發展,一些面向微服務架構的開發框架出現了,如Twitter的Finagle、Facebook的Proxygen以及Spring Cloud等等,這些框架實現了分布式系統通信需要的各種通用語義功能:如負載均衡和服務發現等,因此一定程度上屏蔽了這些通信細節,使得開發人員使用較少的框架代碼就能開發出健壯的分布式系統。

怎么理解Service Mesh

時代5:第一代Service Mesh

第二代微服務模式看似完美,但開發人員很快又發現,它也存在一些本質問題:

  •  其一,雖然框架本身屏蔽了分布式系統通信的一些通用功能實現細節,但開發者卻要花更多精力去掌握和管理復雜的框架本身,在實際應用中,去追蹤和解決框架出現的問題也絕非易事;

  •  其二,開發框架通常只支持一種或幾種特定的語言,回過頭來看文章最開始對微服務的定義,一個重要的特性就是語言無關,但那些沒有框架支持的語言編寫的服務,很難融入面向微服務的架構體系,想因地制宜的用多種語言實現架構體系中的不同模塊也很難做到;

  •  其三,框架以lib庫的形式和服務聯編,復雜項目依賴時的庫版本兼容問題非常棘手,同時,框架庫的升級也無法對服務透明,服務會因為和業務無關的lib庫升級而被迫升級。

因此以Linkerd,Envoy,Ngixmesh為代表的代理模式(邊車模式)應運而生,這就是第一代Service Mesh,它將分布式服務的通信抽象為單獨一層,在這一層中實現負載均衡、服務發現、認證授權、監控追蹤、流量控制等分布式系統所需要的功能,作為一個和服務對等的代理服務,和服務部署在一起,接管服務的流量,通過代理之間的通信間接完成服務之間的通信請求,這樣上邊所說的三個問題也迎刃而解。

怎么理解Service Mesh

如果我們從一個全局視角來看,就會得到如下部署圖:

怎么理解Service Mesh

如果我們暫時略去服務,只看Service Mesh的單機組件組成的網絡:

怎么理解Service Mesh

相信現在,大家已經理解何所謂Service Mesh,也就是服務網格了。它看起來確實就像是一個由若干服務代理所組成的錯綜復雜的網格。

時代6:第二代Service Mesh

第一代Service Mesh由一系列獨立運行的單機代理服務構成,為了提供統一的上層運維入口,演化出了集中式的控制面板,所有的單機代理組件通過和控制面板交互進行網絡拓撲策略的更新和單機數據的匯報。這就是以Istio為代表的第二代Service Mesh。

怎么理解Service Mesh

只看單機代理組件(數據面板)和控制面板的Service Mesh全局部署視圖如下:

怎么理解Service Mesh

至此,見證了6個時代的變遷,大家一定清楚了Service Mesh技術到底是什么,以及是如何一步步演化到今天這樣一個形態。

現在,我們再回過頭來看Buoyant的CEO William Morgan,也就是Service Mesh這個詞的發明人,對Service Mesh的定義:

服務網格是一個基礎設施層,用于處理服務間通信。云原生應用有著復雜的服務拓撲,服務網格保證請求在這些拓撲中可靠地穿梭。在實際應用當中,服務網格通常是由一系列輕量級的網絡代理組成的,它們與應用程序部署在一起,但對應用程序透明。

這個定義中,有四個關鍵詞:

  •  基礎設施層+請求在這些拓撲中可靠穿梭:這兩個詞加起來描述了Service Mesh的定位和功能,是不是似曾相識?沒錯,你一定想到了TCP;

  •  網絡代理:這描述了Service Mesh的實現形態;

  •  對應用透明:這描述了Service Mesh的關鍵特點,正是由于這個特點,Service Mesh能夠解決以Spring Cloud為代表的第二代微服務框架所面臨的三個本質問題。

感謝各位的閱讀,以上就是“怎么理解Service Mesh”的內容了,經過本文的學習后,相信大家對怎么理解Service Mesh這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

许昌市| 清远市| 昌图县| 岗巴县| 成武县| 娱乐| 福建省| 吉木萨尔县| 宁南县| 新郑市| 庆阳市| 虞城县| 永善县| 临汾市| 阿城市| 濮阳县| 长沙市| 泸州市| 吉首市| 岳阳县| 长岭县| 南召县| 赣州市| 启东市| 镶黄旗| 屏东县| 玛多县| 资兴市| 柏乡县| 丽江市| 杭州市| 白河县| 靖安县| 错那县| 土默特左旗| 高雄市| 炉霍县| 页游| 新安县| 广南县| 崇信县|